javascript - 冒泡由禁用元素触发的事件

标签 javascript internet-explorer events event-bubbling

问题是:被禁用的元素是否应该产生一个将在其父元素上触发的事件?

<div id="test">
  <button disabled="disabled">Click me</button>
</div>
<script type="text/javascript">

document.getElementById("test").onclick = function() {
  alert("Clicked!");
};

</script>

除 IE 之外的所有浏览器都会阻止事件被触发,但 IE 不会。此行为是否已记录或标准化?哪些浏览器正确处理了上面的代码?

最佳答案

根据 http://www.quirksmode.org/js/events_advanced.html我强烈建议使用事件委托(delegate)而不是 .onclick() 绑定(bind)。示例:

var element = document.getElementById('test'),
    doSomething = function () {
        alert("Clicked!");
    };
if (element.addEventListener) {
    element.addEventListener('click', doSomething, false);
} else if (element.attachEvent) {
    elem.attachEvent('onclick', doSomething);
}

:)

关于javascript - 冒泡由禁用元素触发的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3838441/

相关文章:

debugging - 是否有适用于 IE6 的类似 Firebug 的工具?

mysql - 创建一个偶数以使用随机数更新表列

c# - 用事件实现观察者模式

javascript - 尝试缩放无法正常工作的 Canvas 图像

javascript - 如何从常规 Javascript 函数访问 angularjs 常量

javascript - getUserMedia 不适用于新浏览器

c# - 命令绑定(bind) Ctrl + 空格键

javascript - mootools 1.12 到 1.25 更新脚本困难

javascript - 将图像上传到未定义的 Node.js image'

css - IE6和IE7菜单显示:block with padding isn't allowing complete selection