冒泡由残疾元素触发的事件

时间:2010-10-01 10:45:08

标签: javascript internet-explorer events event-bubbling

问题是:disabled元素是否会产生将在其父元素上触发的事件?

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

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

</script>

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

1 个答案:

答案 0 :(得分:0)

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

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);
}

:)