为了账号安全,请及时绑定邮箱和手机立即绑定

addEventListener

page.addEventListener("change",function(e){

    var pageElement = document.querySelector("." + e.target.value)

    pageElement.style.zIndex = ++index;

},false) 这段代码改成下面的那样会有什么问题page.onchange=function(){

    var pageElement = document.querySelector("." + e.target.value)

    pageElement.style.zIndex = ++index;

}


正在回答

3 回答

刚刚查了一下addEventListener对同一事件可以绑定多个执行函数,执行顺序与定义顺序一致;

onxxx事件绑定只会执行最后一个定义的函数

//层级
var index = 10;
//切换切换
page.addEventListener("change",function(e){
    //页面元素
    var pageElement = document.querySelector("." + e.target.value)
    pageElement.style.zIndex = ++index;
},false)
var tip = document.querySelector("#tip");
page.addEventListener('change',function(e){
    document.getElementById('tip').innerHTML=Math.random();
})

// page.onchange = function(e){
//     var pageElement = document.querySelector("." + e.target.value)
//     pageElement.style.zIndex = ++index;
// };
// page.onchange = function(){
//     document.getElementById('tip').innerHTML=Math.random();
// }


0 回复 有任何疑惑可以回复我~

还有一点就是,第一种写法可以直接找到事件目标元素,能很方便的找到下拉框的value,从而改变层级。第二种写法找目标元素就得用变量或者传参了。只是个人一点认识,欢迎指正

0 回复 有任何疑惑可以回复我~
#1

溪墨潺 提问者

如果我给第二种写法里的function带上参数呢?在这点上是不是差不多了
2016-02-25 回复 有任何疑惑可以回复我~

在PC端的问题不大,在移动端偶尔有兼容问题,一般来说移动端的事件都是由addEventListener来绑定

0 回复 有任何疑惑可以回复我~
#1

溪墨潺 提问者

感觉这个解释有点牵强·····
2016-02-25 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
H5+JS+CSS3 实现圣诞情缘
  • 参与学习       121972    人
  • 解答问题       211    个

为圣诞节准备的H5+JS+CSS特效案例教程,实现静与动的结合

进入课程

addEventListener

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信