Arj*_*jun 58 javascript jquery events
调用event.stopImmediatePropagation()
和return false
内部事件处理程序之间有什么区别吗?
Fel*_*ing 150
是的他们是不同的.
return false
与调用两者基本相同,event.stopPropagation()
和event.preventDefault()
.
而event.stopImmediatePropagation()
相同event.stopPropagation()
加防止相同元件上的其他注册事件处理程序被执行.因此,它不会阻止事件的默认操作,例如跟随单击的链接.
简而言之:
stop | prevent | prevent "same element"
bubbling | default action | event handlers
return false Yes Yes No
preventDefault No Yes No
stopPropagation Yes No No
stopImmediatePropagation Yes No Yes
Run Code Online (Sandbox Code Playgroud)
return false
也适用于"普通"JavaScript事件处理程序
event.stopPropagation()
并且event.preventDefault()
还在"普通"JavaScript事件处理程序(在W3C兼容的浏览器中)工作,而event.stopImmediatePropagation()
jQuery是一个扩展(更新:显然它是DOM Level 3 Events规范的一部分).
注意: return false
不会阻止事件在"普通"(非jQuery)事件处理程序中冒泡(请参阅此答案)(但仍会阻止默认操作).
也许值得一读:
归档时间: |
|
查看次数: |
17689 次 |
最近记录: |