新闻资讯

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻资讯列表

js中cancelBubble和stoppropagation的不同是什么,js thenable

发布时间:2023-08-04 10:54:17

js中cancelBubble和stoppropagation的不同是甚么

在JavaScript中,`cancelBubble`和`stopPropagation`都是用于禁止事件冒泡的方法,但存在一些不同:
1. `cancelBubble`是IE中的方法,而`stopPropagation`是标准的DOM方法,也支持其他浏览器。
2. `cancelBubble`是一个布尔值属性,设置为`true`可以禁止事件冒泡,设置为`false`表示允许事件冒泡。而`stopPropagation`是一个方法,调用该方法可以禁止事件冒泡。
3. `cancelBubble`可以在事件处理程序中直接访问和设置,而`stopPropagation`只能在事件对象上调用。
示例代码以下:
```javascript
// 使用cancelBubble方式禁止事件冒泡(IE)
document.getElementById('myElement').onclick = function(event) {
event.cancelBubble = true;
};
// 使用stopPropagation方式禁止事件冒泡(标准DOM)
document.getElementById('myElement').onclick = function(event) {
event.stopPropagation();
};
```
需要注意的是,`stopPropagation`只能禁止事件冒泡,而没法禁止事件捕获。如果需要同时禁止事件捕获和事件冒泡,可使用`stopImmediatePropagation`方法。