javascript里怎么在对象.onclick =function () {}里加入多事件

javascript里怎么在对象.onclick =function () {}里加入多事件,第1张

注册多个事件可以考虑使用

对象.addEventListener('click', function() {})

可以注册多个事件。

如果的确想用onclick = function() {}来绑定,那可以考虑用一个数组把要绑定的函数存起来,示例:

var onclickHandles = []

onclickHandles.push(function(){ /*fn1*/})

onclickHandles.push(function(){ /*fn2*/})

elem.onclick = function() {

    for (var i=0 i<onclickHandles.length ++i) {

        onclickHandles[i].apply(this, arguments)

    }

}

attachEvent是ie添加事件处理程序,接收两个参数,其中事件类型名称要加"on",

可以添加多个事件处理程序,按照添加顺序相反的顺序触发

addEventListener是给非ie添加事件处理程序,接收三个参数,第一个是事件名,不需要加“on”,

第二个是绑定的函数,第三个参数是一个布尔值,是事件的方式,意思是是否使用useCatch方式,

如果是false,就使用传统的冒泡方式,如果为true,就在捕获阶段调用事件处理程序。

addEventListener可以添加多个事件处理程序,按照添加顺序触发

二者有个本质上的区别,attachEvent的事件处理程序会在全局作用域中运行,this等于window对象,

而addEventLinstener添加的事件处理程序是在其依附的元素的作用域中运行的,this等于绑定元素对象。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11487727.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存