addEventListener:为单个事件注册多个事件事件处理程序
来源:互联网 发布:淘宝网红店铺有哪些 编辑:程序博客网 时间:2024/06/06 18:48
http://www.cnblogs.com/Pure-Land/archive/2011/07/08/2101185.html
在通常情况下,如果要为单个事件注册多个事件处理程序,那么只有最后注册的那个事件处理程序才会起作用。这是因为在DOM中,为HTML元素的一个事件指定事件处理程序时,这个事件处理程序会成为该元素的一个属性,如果为一个属性赋值,这个属性就会有这个值,可是如果再继续为这个属性赋值呢?很简单,这个属性就会有新值,原来的值就被覆盖了。所以,只有最后注册的那个事件处理程序才会起作用。为了解决这个问题,我们可以使用DOM Level 2模型的addEventListener()方法。
addEventListener("事件名(不用加on)",事件处理程序,Bool(指示是完成事件浮升(false)还是事件捕获(true),通常情况下使用false))。这个事件是DOM Level 2模型的新方法,所以支持该模型的浏览器都可以使用这个方法,但是,在ie浏览器中,并不支持addEventListener方法,不过不用担心,我们可以使用attachEvent("事件名(加on)",事件处理程序),作用是一样的。
使用了事件监听之后,我们并不能确定事件处理程序的调用顺序与其增加顺序一致,因为事件监听者并不会以某种特定的顺序调用事件处理程序,我们要确保事件处理程序不依赖于所调用的顺序。
下面提供一个兼容各种浏览器的函数,用于创建事件监听对象:
function addEventHandler(objectelement, eventname, eventhandler) {
if (document.attachEvent)//ie浏览器
{
objectelement.attachEvent("on" + eventname, eventhandler);
}
else if (document.addEventListener) //非ie浏览器
{
objectelement.addEventListener(eventname, eventhandler, false);
}
}
0 0
- addEventListener:为单个事件注册多个事件事件处理程序
- attachEvent/addEventListener注册事件
- 注册事件处理程序
- 事件处理---addEventListener
- JS addEventListener / attachEvent注册事件
- addEventListener注册事件(事件监听)
- JavaScript权威指南_164_第17章_事件处理_17.2-注册事件处理程序-addEventListener()
- IE 11 注册事件处理程序终于回归W3C标准addEventListener
- addEventListener事件
- addEventListener事件
- js事件处理(removeEventListener addEventListener)
- [html]事件处理addEventListener详解
- 事件---事件处理程序
- addEventListener方法来注册事件给对象
- javascript注册事件-addEventListener和attachEvent
- 单个和多个checkbox选中事件
- 单个和多个checkbox选中事件
- javascript同一个事件如何注册多个处理函数
- JNI 开发笔记 - Android JNI Tips
- hdu1074 状态压缩dp
- iOS开发:ReactiveCocoa(RAC)应用场景
- 如何回答「业余时间喜欢做什么?」【面试核心问题7】
- 触摸事件的机制
- addEventListener:为单个事件注册多个事件事件处理程序
- 猜拳游戏
- [Zabbix3.0 ]添加Nginx监控
- Kafka源码分析之Sender
- STM32 CubeMX HAL UART interface API
- JNI 开发笔记 - 示例代码
- 进程间通信 - 匿名管道实现
- 如何回答「未来5年如何规划?」【面试核心问题8】
- Lua语句