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() 即可。