避免在JavaScript中执行elem.onclick覆盖操作
Avoid elem.onclick override action in JavaScript
我有一个关于onclick
的JavaScript行为的问题。我有两个JavaScript类,它们初始化元素中的onclick
函数,但当我在同一个html元素上应用onclick
初始化器时,只能使用最后一个onclick
函数,我不理解这种行为。我在一个简单的例子中测试了相同的情况,结果是相同的。下面是我的示例代码,它具有这种奇怪的行为:
window.onload = function ()
{
var testElem = document.querySelector('#test_element');
test_element.onclick = function ()
{
alert('one');
}
test_element.onclick = function ()
{
alert('two');
}
}
这是我的HTML
<div id="test_element">click here to test_element</div>
当我点击触发器时,我需要抛出两个警报";一个";以及";两个";但似乎第二个优先于第一个。有人能帮我解决这个问题吗?
使用addEventListener,它可以处理同一事件的多个处理程序:
test_element.addEventListener('click', function(){
alert('one');
}, false);
test_element.addEventListener('click', function(){
alert('two');
}, false);
onclick
属性(也称为内联)仅支持单个处理程序。
您正在寻找addEventListener(eventName, handler)
,这是在JS中添加处理程序的正确方法。
它将允许您添加任意数量的处理程序。
相关文章:
- 如何在执行此特定onclick事件时执行JavaScript函数
- Setting default onclick behavior for <img> tag in gene
- Javascript全局onclick监听器
- 如何调用“;链接_;在onclick事件上使用Javascript
- onclick函数需要双击,因为类分配延迟
- 如何使用jquery迭代具有相同属性的html元素并查找onclick事件
- 使用onclick绘制SVG路径
- 如何将数据从onclick按钮传递到变量
- 选择onclick事件jquery
- I'我设计了一个下拉菜单,onclick会出现,而on blur会消失
- 如何刷新列表框内容onclick或blur事件
- OnClick/Onhover Javascript/jquery
- 执行php函数的onclick事件的其他替代方案
- Javascript onclick函数会立即调用(而不是在单击时调用)
- 动态创建OnClick事件Javascript
- onclick风格的整个李不想要
- jquery Onclick函数带有导致双击的回调排序函数
- 使用element简化onclick函数
- 将函数从onclick修改为onload
- 避免在JavaScript中执行elem.onclick覆盖操作