如何打开/关闭$(document).click()事件或其他解决方案
How to turn $(document).click() event on/off or other solution
我有一个div标记,当单击时,我想开始一个过程,然后单击文档上的任何地方,我想结束这个过程。到目前为止,我已经试过了:
$(document).click(end_process);
$('div_tag_id').click(start_process);
这是不好的,因为单击启动进程之后也会立即结束进程。什么好主意吗?
我相信你想要这样的东西:
$('div_tag_id').click(function(e) {
e.stopPropagation();
start_process(e);
});
:
http://api.jquery.com/event.stopPropagation/在处理程序中使用stopPropagation
:
$('div_tag_id').click(function(e) {
e.stopPropagation();
start_process();
});
当然,您只需要在start_process处理程序中阻止事件冒泡:
start_process(e) {
e.stopPropagation();
}
编辑:看起来每个人都在同一时间说同一件事。好运! 您可以在start_process
函数中调用.stopPropagation()
来阻止事件冒泡到document
:
function start_process(event) {
event.stopPropagation();
//..your code here
}
以下是.stopPropagation()
的文档:http://api.jquery.com/event.stoppropagation/
使用stopPropagation
来阻止点击传播到父节点。
$('div_tag_id').click(function(e){
start_process();
e.stopPropagation();
});
或者,将stopPropagation
添加到start_process
的正文中。
相关文章:
- Fancybox是否将Click事件静音
- AngularJs的ng-click$事件将子元素作为目标传递
- jsplumb中的Click事件处理程序丢失“;这个“;对象
- jquery on click事件来显示内容
- jQuery.on-click事件不会发生
- AngularJS$apply有时不会;当在highchart中使用click事件时,t触发更新{{}}中html标记中
- 追加Jquery后的Binding Click事件不起作用
- 将click事件绑定到AngularJS指令中的子元素
- 现代网络爬虫是使用 click 事件还是直接导航到锚标记上的 href
- JavaScript on Click 事件在 img 标签上无法正常工作
- 如何覆盖jQuery所选元素的“click”事件
- 带有元素移除的Javascript remove-click事件
- 如何在不接触某些元素的情况下附加document.click事件
- 当event.target返回子元素时,如何只获取click事件的父元素
- 我可以't对jquery上的click事件使用off函数
- 根据文件类型取消绑定和重新绑定click事件处理程序
- 当标记单击未启动时的On Click事件.如何捕获事件
- 无法从jTemplate输出中挂接Click事件
- mouseover,out and click事件不适用于折线
- 如何在angularjs中的指令中注册click事件