JQuery函数绑定到身体节点的点击事件,另一个点击事件立即执行
JQuery function binded to click event of body node with another click event executed immediately
$().ready(function(){
$("#move-to").click(function(){
$("body").bind("click",function(){
alert("foo");
});
});
});
为什么我在单击"移动到"后立即看到alert("foo"(?
当我在文档中的某个div上绑定"alert"时,evrithing是可以的.
能来点什么帮助吗?
我做错了什么?
#move-to
处理程序运行后,单击事件会冒泡到<body>
,触发您刚刚绑定的处理程序。
您可以通过调用 e.stopPropagation()
来防止这种情况。
或者,您可以通过将bind()
移动到setTimeout
调用来在此事件周期之后绑定<body>
单击事件。
$().ready(function(){
$("#move-to").click(function(e){
e.stopPropagation();
$("body").bind("click",function(){
alert("foo");
});
});
});
但是我认为您在单击#move-to
时一次又一次地绑定单击事件的代码,如果您不在其他地方取消绑定该单击事件,这并不好。
相关文章:
- 如何在onclick事件执行代码时在ImageButton上设置加载gif
- 如果类有多个事件处理程序方法,如何防止多个事件执行
- 单击事件执行单击和悬停事件处理程序,即使单击事件处理程序取消绑定所有处理程序也是如此
- 对多个滚动事件执行一次操作并防止滚动
- jQuery全局/本地事件执行顺序
- 作为预生成事件执行PowerShell脚本失败
- 允许对目标事件执行默认操作,并阻止对父级执行默认操作
- 使用点击jquery事件执行css3转换
- 阻止.mouseout事件执行
- 无法通过键盘事件执行功能
- 循环中的Javascript onclick事件执行了1次以上
- 如何将多个事件处理程序添加到同一个html元素中,并根据事件执行不同的方法
- 在Angular 2中处理click和clickOutside事件执行优先级的最佳方式
- 在mustache模板中对点击事件执行函数
- Java脚本函数,直到save事件执行完成
- 每个事件执行多次代码:多次下载
- 当onclick事件执行异步代码时,我如何在新选项卡请求中打开
- 在所有控制器中对同一个事件执行同一个函数——AngularJS
- Jquery事件执行两次
- 对img load事件执行html注释