我看到很多教程告诉我防止气泡的方法是使用“e”参数
就像 :
function(e){
e.preventDefault()
}
但在某些情况下,萤火虫告诉我“e is not Define”是错误的
那么有没有办法不用参数e就可以阻止气泡呢?
如果您使用元素属性设置事件处理程序(例如,<button onclick="myFunc()">
) 参数列表将为空。你必须使用<button onclick="myFunc(event)">
而是将当前事件作为参数传递。默认情况下,不会向回调函数传递任何参数。
event
在这种情况下是一个特殊变量。使用时<element onEVENT="code">
浏览器创建一个新脚本和一个函数FunctionBody
“代码”。该函数将接受一个参数event
,因此您可以在自己的函数/代码中使用此对象(请参阅w3c:ehca http://www.w3.org/TR/html5/webappapis.html#event-handler-content-attributes)。注意IE创建的是全局对象event
对于每个触发的事件。
So pass event
作为附加变量并使用e.preventDefault() https://developer.mozilla.org/en/DOM/event.preventDefault and e.stopPropagation https://developer.mozilla.org/en/DOM/event.stopPropagation。注意return false;
不会取消 a 中的传播click
event.
示范:
-
示范 http://jsfiddle.net/yR6Mx/3/embedded/result/显示使用 jQuery 时回调函数的参数,
<element onclick="">
and HTMLElementObject.onclick
.
-
return false; vs e.stopPropagation(); http://jsfiddle.net/PrPd4/embedded/result/(剧透:
return false;
fails.)
参考:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)