栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

event.stopPropagation和event.preventDefault有什么区别?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

event.stopPropagation和event.preventDefault有什么区别?

stopPropagation
阻止事件冒泡事件链。

preventDefault
阻止浏览器对该事件执行默认操作。

例子

preventDefault

$("#but").click(function (event) {  event.preventDefault()})$("#foo").click(function () {  alert("parent click event fired!")})<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><div id="foo">  <button id="but">button</button></div>

停止传播

$("#but").click(function (event) {  event.stopPropagation()})$("#foo").click(function () {  alert("parent click event fired!")})<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><div id="foo">  <button id="but">button</button></div>

使用

stopPropagation
,只有
button
的点击处理程序会
被调用,而
div
的点击处理程序
永远不会触发。

就像您使用一样

preventDefault
,只有浏览器的默认操作被停止,但div的单击处理程序仍然会触发。

以下是有关MDN中DOM事件属性和方法的一些文档:

  • event.cancelBubble
  • event.preventDefault()
  • event.returnValue
  • event.stopPropagation()

对于IE9和FF,您可以只使用preventDefault和stopPropagation。

为了支持IE8和更低版本,请替换

stopPropagation
cancelBubble
和替换
preventDefault
returnValue



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/415969.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号