有没有一种方法可以在javascript中停止气泡而不使用"e”;参数
Is there a way stop bubble in javascript without "e" parameter?
我看过很多教程,告诉我防止气泡的方法是使用"e"参数
就像:
function(e){
e.preventDefault()
}
但在某些情况下,萤火虫告诉我,"e不是定义的"是错误的
那么,有没有一种方法可以在没有参数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
事件中的传播。
演示:
- 演示使用jQuery、
<element onclick="">
和HTMLElementObject.onclick
时回调函数的参数 return false;
vse.stopPropagation();
(扰流板:return false;
失效)
参考文献:
- W3C:DOM级别3:
stopPropagation
- W3C:DOM级别3:
preventDefault
-
W3C:HTML5事件处理程序内容属性:
使用上面创建的脚本执行环境,创建一个函数对象(如ECMAScript第5版第13.2节"创建函数对象"中所定义),带有:
参数列表FormalParameterList
如果属性是Window对象的oneror属性
- 让函数有三个参数,分别命名为
event
、source
和fileno
否则
- 让函数有一个名为
event
的参数
- 让函数有三个参数,分别命名为
相关文章:
- 铬:“;未捕获的语法错误:意外的标记:"
- 可以设置“;文件名"发生错误时显示的内联脚本标记的
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 检测电话窃听,即:<a href="电话:xxx">在UIWebview上
- 使用“+="操作人员
- //而不是在src=“”上使用http://"属性
- "未捕获的语法错误:意外的标记}"
- 可以<脚本类型=“;text/javascript”>window.location=“/"</
- "实例范围”;TypeScript类的getter/setter
- Javascript复选框函数:;缺少:在属性id之后"
- "“;变量未引用正确的对象
- "日期“;AJAX请求返回的类型值未定义
- 得到"TypeError:无法读取属性'filename'未定义的“;调用“npm start
- Soundcloud api"未捕获的类型错误:无法读取属性'uri'“未定义”;
- "工具提示"jQuery插件坏了
- "锻造;React中的表达式
- 图像可以从源<img src=""/>.TEXT可以在没有javascript的情况下从外部
- 如何提取“;href"最近列表项中的属性值
- CKEditor如何允许href="javascript:void(0)"在小部件中
- 有没有一种方法可以在javascript中停止气泡而不使用"e”;参数