preventDefault() 方法 取消事件的默认动作。 stopPropagation() 方法 取消事件冒泡
发布日期:2021-05-07 19:16:51 浏览次数:20 分类:精选文章

本文共 1039 字,大约阅读时间需要 3 分钟。

事件处理方法

event.preventDefault()

语法

event.preventDefault()

说明

该方法通知 Web 浏览器不要执行与事件关联的默认动作。例如,如果 type 属性是 "submit",在事件传播的任何阶段可以调用该方法,阻止提交表单。需要注意的是,如果 Event 对象的 cancelable 属性为 false,则没有默认动作或无法阻止默认动作,调用该方法无效。


event.stopPropagation()

语法

event.stopPropagation()

说明

该方法终止事件的传播,阻止事件分派到其他 Document 节点。在事件传播的任何阶段都可以调用该方法。注意,虽然它可以阻止事件分派到其他节点,但无法阻止同一节点上的其他事件句柄执行。


事件传播与处理

在 JavaScript 中,事件的传播遵循特定的规则,包括捕获、目标处理和起泡(冒泡)阶段。默认情况下,事件会从目标节点开始,逐层向上传播至最近的事件监听器。以下方法可以帮助你控制事件传播:

  • event.preventDefault():阻止与事件关联的默认动作执行。
  • event.stopPropagation():停止事件的传播,阻止它分派到其他节点。

这两个方法可以在事件传播的任何阶段调用,具体取决于你的需求:

  • 如果你想阻止表单提交或重置某个元素的默认行为,可以在事件传播的早期阶段(如捕获阶段)调用 event.preventDefault()
  • 如果你想阻止事件向上或向下传播到其他节点,可以在事件传播的晚期阶段(如目标处理阶段或起泡阶段)调用 event.stopPropagation()

示例场景

  • 阻止表单提交

    在表单提交事件中,通常可以通过以下方式阻止默认行为:

  • 阻止事件传播

    如果你希望事件不再传播到其他节点,可以使用 event.stopPropagation()


  • 注意事项

    • 事件传播阶段:了解事件传播的规则,确保在正确的阶段调用相应方法。
    • 可阻止性:检查 Event 对象的 cancelable 属性,避免在无法阻止的情况下调用 event.preventDefault()

    通过合理使用 event.preventDefault()event.stopPropagation(),你可以更好地控制事件的行为,提升应用程序的用户体验。

    上一篇:javaScript localStorage
    下一篇:原 js中addEventListener中第3个参数

    发表评论

    最新留言

    留言是一种美德,欢迎回访!
    [***.207.175.100]2025年04月08日 20时35分04秒