preventDefault 和 stopPropagation 的区别

简介: 版权声明:本文首发 http://asing1elife.com ,转载请注明出处。 https://blog.csdn.net/asing1elife/article/details/82620083 ...
版权声明:本文首发 http://asing1elife.com ,转载请注明出处。 https://blog.csdn.net/asing1elife/article/details/82620083

preventDefault 和 stopPropagation 的区别

在使用 JS 阻止默认动作时,通常会使用 preventDefault 或 stopPropagation ,但两者存在一定区别

更多精彩

preventDefault

  1. 如下方法中,.training-name-input 存在与一个表单中,该元素监听了键盘的回车事件
  2. 如果不使用 e.preventDefault() 则会在触发该监听的同时,触发表单中 type="submit" 按钮的提交事件
  3. 所以 preventDefault 的关键作用在于通知浏览器不执行与事件关联的默认动作
$diplomaContentPanel.find('.training-name-input').on('keydown', function (e) {
  e.preventDefault()

  if (e.keyCode === 13) {
        // 只响应回车事件
  }
})

stopPropagation

  1. 如下方法中,carousel-indicators li 是一个插件的节点,本身就被插件赋予了点击事件
  2. 但是使用时希望屏蔽该插件赋予的点击事件,这个时候就需要使用 e.stopPropagation()
  3. 作用在于,阻止 DOM 元素继续向下冒泡,在执行了该点击方法后,就停止了,不再响应被赋予的其他点击事件
$noviceGuidePanel.find('.carousel-indicators li').on('click', function (e) {
    e.stopPropagation()
})
目录
相关文章
|
9月前
|
机器学习/深度学习 算法 Python
Backpropagation
【6月更文挑战第24天】
74 7
|
10月前
|
JavaScript 开发者
vue解决报错Unable to preventDefault inside passive event listener invocation.
vue解决报错Unable to preventDefault inside passive event listener invocation.
979 0
|
9月前
|
机器学习/深度学习 存储 PyTorch
四、反向传播 back propagation
四、反向传播 back propagation
|
10月前
疑难杂症!handleSubmit does not execute onSubmit function
疑难杂症!handleSubmit does not execute onSubmit function
70 0
|
10月前
|
Web App开发 JavaScript 前端开发
jquery的冒泡事件event.stopPropagation()
jquery的冒泡事件event.stopPropagation()
62 0
|
JavaScript
js中 事件流与阻止冒泡 事件对象.stopPropagation()
js中 事件流与阻止冒泡 事件对象.stopPropagation()
106 0
|
机器学习/深度学习 算法 PyTorch
Back Propagation 反向传播
Back Propagation 反向传播
126 0
|
算法 数据挖掘 开发者
|
算法 数据挖掘 开发者