JS中阻止冒泡的最佳兼容写法如下:

function BtnClick(e){
    e.stopPropagation();
    e.preventDefault();
    return false;
}

其中的e就是javascript中的event常量,使用如下:

<input type="button" value="测试按钮"  onclick="BtnClick(event)" />

 

三行的作用

  • e.stopPropagation():阻止事件继续向父元素冒泡。
  • e.preventDefault():阻止元素默认行为(如链接跳转、表单提交)。
  • return false:在旧式 inline 事件中等价于同时调用前两者。

写法建议

事件对象建议由参数传入(onclick="BtnClick(event)")并做空值判断;现代写法可用 addEventListener,直接调用 stopPropagation() 即可。

相关阅读

参考资料