【问题标题】:Bubbling an event triggered by disabled element冒泡由禁用元素触发的事件
【发布时间】:2010-10-01 10:45:08
【问题描述】:

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

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

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

</script>

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

【问题讨论】:

  • 你是在 IE 中以 quirks 模式还是标准模式测试这个?
  • 文档类型是 ttp://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" rel="nofollow" target="_blank">w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  • 我想知道您是否找到了解决方案/解释。
  • 不,我没有。只是以其他方式解决了。

标签: javascript internet-explorer events event-bubbling


【解决方案1】:

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

:)

【讨论】:

    猜你喜欢
    • 2013-09-29
    • 1970-01-01
    • 2014-07-27
    • 2011-07-03
    • 1970-01-01
    • 2011-01-30
    • 2010-09-25
    • 1970-01-01
    • 2020-08-07
    相关资源
    最近更新 更多