Javascript IE/Firefox气泡事件

Javascript IE/Firefox气泡事件,javascript,button,stoppropagation,Javascript,Button,Stoppropagation,很可能这个问题以前被问过很多次,但据我所知,他们给出了相同的回答,这些回答对我不起作用 问题如下:我有一个按钮控件,它被呈现为一个表,在这个表中我有一个较小的按钮。要求是,单击外部按钮应显示一条消息,单击内部小按钮应显示另一条消息。 我在这把小提琴里有密码: 这段代码在Chrome上运行正常(我怀疑Opera/Safari没有检查,因为我无法安装这些浏览器),但在IE9+和Fireforx上没有。不管我是否点击小按钮,这个事件都会在大的外部按钮上触发 有人知道为什么吗? 谢谢 马吕斯 因为我认为

很可能这个问题以前被问过很多次,但据我所知,他们给出了相同的回答,这些回答对我不起作用

问题如下:我有一个按钮控件,它被呈现为一个表,在这个表中我有一个较小的按钮。要求是,单击外部按钮应显示一条消息,单击内部小按钮应显示另一条消息。 我在这把小提琴里有密码:

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

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

因为我认为atomic中的按钮在那些浏览器上,在浏览器的实现上有一些不同。 您应该按预期使用元素。

StopRoPagation()没有问题,浏览器将您的点击注册为在大按钮上(因为从技术上讲是这样),可以,但是我如何解决这个问题,使其在所有浏览器中都能一致工作?在互联网上阅读了几个小时的文档后,我在JSFIDLE中创建了一个更基本的示例来演示这个问题。IE/Firefox在点击时对按钮和div的处理似乎有所不同:是的,最后我使用了这个解决方案,因为我意识到我无法让按钮+div单独跨平台工作。
$('#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();
    }
});
To resolve your problem just replace outer button to div.