【发布时间】:2013-05-08 01:11:52
【问题描述】:
我一直在寻找最合适的方式来附加 DOM 事件以避免浏览器兼容性问题,并发现 Mozilla developers 网站指出:
旧的方法是像这样分配它:
document.getElementById('cupcakeButton').onclick = getACupcake;如上所述,事件对象要么是全局对象,要么是参数。这 方法可能有问题,不是首选方法,但它仍然 有效,很多人仍在使用它。
这是指什么类型的问题?
【问题讨论】:
-
一方面,如果您尝试将两个处理程序附加到同一元素上的同一事件,则第二个将替换第一个。通常的期望是一个事件可能有许多处理程序。当你结合这两种方法时会发生什么也不是显而易见的。 (即“分配”处理程序是否替换了以前“添加”的处理程序?它们都被调用了吗?你能“删除”分配的处理程序吗?我确定所有这些都已指定,但最好只坚持一种方法而不是把它留在你的脑海里。)
-
我推荐阅读quirksmode.org/js/events_tradmod.html。它也提到了一些问题。
标签: javascript html events dom