3

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

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

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

</script>

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

4

1 回答 1

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

:)

于 2012-06-29T06:11:15.633 回答