我有一个DIV标签,当我点击它时我想开始一个过程,然后点击文档中我要结束过程的任何地方。到目前为止,我已经尝试过这个:
$(document).click(end_process);
$('div_tag_id').click(start_process);
这不好,因为点击启动过程也会立即结束此过程。有什么想法吗?
答案 0 :(得分:2)
在处理程序中使用stopPropagation
:
$('div_tag_id').click(function(e) {
e.stopPropagation();
start_process();
});
答案 1 :(得分:2)
我相信你想要这样的东西:
$('div_tag_id').click(function(e) {
e.stopPropagation();
start_process(e);
});
见:
答案 2 :(得分:1)
当然,你只想阻止事件在你的start_process处理程序中冒泡:
start_process(e) {
e.stopPropagation();
}
编辑:看起来每个人都在同一时间说同一件事。祝你好运!
答案 3 :(得分:1)
您可以在.stopPropagation()
功能中致电start_process
,以阻止事件冒泡到document
:
function start_process(event) {
event.stopPropagation();
//..your code here
}
以下是.stopPropagation()
的文档:http://api.jquery.com/event.stoppropagation/
答案 4 :(得分:0)
使用stopPropagation
停止点击传播到父级。
$('div_tag_id').click(function(e){
start_process();
e.stopPropagation();
});
或者,只需将stopPropagation
添加到start_process
的正文中。