插件窝 干货文章 js如何阻止事件

js如何阻止事件

事件 preventdefault stoppropagation 阻止 594    来源:    2024-10-19
javascript 中可使用 preventdefault() 和 stoppropagation() 方法阻止事件传播:preventdefault():阻止事件的默认行为。stoppropagation():阻止事件向上传播到父元素。结合使用 preventdefault() 和 stoppropagation() 可完全阻止事件传播。

如何在 JavaScript 中阻止事件

阻止事件传播是防止事件冒泡到文档中更高层次元素的关键技术。在 JavaScript 中,可以使用 preventDefault() 和 stopPropagation() 方法来阻止事件:

preventDefault()

preventDefault() 方法阻止事件的默认行为。默认行为因事件类型而异。例如,对于单击事件,默认行为是触发元素的 click 处理程序。调用 preventDefault() 将阻止该处理程序运行。

document.getElementById("myButton").addEventListener("click", function(e) {
  e.preventDefault();
  // 自定义代码
});

stopPropagation()

stopPropagation() 方法阻止事件在 DOM 树中向上传播到其父元素。这可以防止事件冒泡到文档中更高级别的元素。

document.getElementById("myElement").addEventListener("click", function(e) {
  e.stopPropagation();
  // 自定义代码
});

结合使用

preventDefault() 和 stopPropagation() 可以一起使用以完全阻止事件的传播:

document.getElementById("myElement").addEventListener("click", function(e) {
  e.preventDefault();
  e.stopPropagation();
  // 自定义代码
});