IE / Firefox泡沫事件

时间:2014-07-16 11:29:38

标签: javascript button stoppropagation

这个问题很可能之前已被问过很多次了,但据我所知,给出了相同的答案,但它们对我不起作用。

问题如下:我有一个呈现为表格的按钮控件,在这个表格中我有一个较小的按钮。要求是单击外部按钮应显示一条消息,单击小内部按钮应显示另一条消息。 我在这个小提琴里面有代码:http://jsfiddle.net/DZFEZ/3/

$('#mine').click(function (evt) {
    alert("big button click");
});

$('#mine-fav').click(function (evt) {
    alert("small button click");
    var event = evt || window.event; // cross-browser event    
    if (event) {
        event.returnValue = false;
        event.cancelBubble = true;
        event.stopPropagation();
        event.preventDefault();
    }
});

此代码在Chrome上运行正常(我怀疑Opera / Safari。没有检查,因为我无法安装这些浏览器),但在IE9 +和Fireforx上却没有。只要点击小的按钮,就会在大外部按钮上触发该事件。

有人知道为什么? 谢谢, 马吕斯。

1 个答案:

答案 0 :(得分:1)

To resolve your problem just replace outer button to div.

因为我认为那些浏览器中的原子按钮与浏览器实现有一些区别。 您应该按预期使用元素。 Working demo