javascript - 有没有办法在没有 "e"参数的情况下阻止 JavaScript 中的气泡?

标签 javascript parameters event-bubbling

我看过很多教程,告诉我防止气泡的方法是使用“e”参数

就像:

function(e){
    e.preventDefault()
}

但在某些情况下, Firebug 告诉我“e is not Define”是错误的

那么有没有办法不用参数e就可以阻止气泡呢?

最佳答案

如果您使用元素属性(例如 <button onclick="myFunc()"> )设置事件处理程序,则参数列表将为空。您必须使用<button onclick="myFunc(event)">而是将当前事件作为参数传递。默认情况下不会向回调函数传递任何参数。

event在这种情况下是一个特殊变量。使用时<element onEVENT="code">浏览器创建一个新脚本和一个带有 FunctionBody 的函数“代码”。然后,该函数将采用一个参数 event ,因此您可以在自己的函数/代码中使用此对象(请参阅 w3c:ehca )。请注意,IE 创建了一个全局对象 event对于每个触发的事件。

所以通过event作为附加变量并使用 e.preventDefault() e.stopPropagation 。请注意return false;不会取消 click 中的传播事件。

演示:

引用文献:

关于javascript - 有没有办法在没有 "e"参数的情况下阻止 JavaScript 中的气泡?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9766232/

相关文章:

javascript - 如何从列表项文本中删除日期

javascript - 使用适用于 IE 的 Ajax 进行文件发布

asp.net - 向 dataAdapter.fill() 添加参数

javascript - 获取输入值并使用两个参数插入函数以制作矩形?

javascript - 主干事件多次触发

javascript - 如何获取ajax请求的输入值

javascript - 轮询新消息警报/通知

c# - 如何在没有编译时常量的情况下设置可选参数

javascript - 在没有子节点的 html 元素上,事件捕获阶段未按预期工作

javascript - 如何防止表单提交冒泡