Skip to content
快看这页儿写了啥...

如何取消默认事件

题干

  • 取消默认事件

题解

使用 W3C 标准中的 preventDefault() 方法,可以阻止事件的默认行为,比如点击链接跳转,右键呼出菜单,表单提交等。但是,它不能阻止事件的传播,如果要阻止事件的传播,还需要使用 stopPropagation()stopImmediatePropagation() 方法。

若考虑兼容性,那在 IE 浏览器中,可以设置事件对象的 returnValue 属性为 false,来阻止事件的默认行为。但是,它也不能阻止事件的传播,如果要阻止事件的传播,还需要使用 cancelBubble 属性。

另:在 jQuery 中,可以在事件处理函数中返回一个布尔值 false,来同时阻止事件的默认行为和传播。在原生 JS 中,这个方法也可以阻止默认行为,但是不能阻止传播。

相关

事件是什么?事件模型?

介绍事件传播机制(事件流),事件传播的三个阶段?

如何阻止事件传播(事件冒泡)

什么是事件代理(事件委托),使用场景

贡献者

isboyjc's avatar isboyjc

浏览量(PV)  次  ·  独立访客(UV)  人次
不正经的前端 | 八股 · 欢迎 star ⭐