Javascript 如何打开/关闭$(文档)。单击()事件或其他解决方案
我有一个DIV标记,单击该标记时,我希望启动一个流程,然后单击文档上的任意位置,我希望结束流程。到目前为止,我已经尝试过:Javascript 如何打开/关闭$(文档)。单击()事件或其他解决方案,javascript,jquery,mouseevent,Javascript,Jquery,Mouseevent,我有一个DIV标记,单击该标记时,我希望启动一个流程,然后单击文档上的任意位置,我希望结束流程。到目前为止,我已经尝试过: $(document).click(end_process); $('div_tag_id').click(start_process); 这是不好的,因为单击启动流程后也会立即结束流程。有什么想法吗?在你的处理程序中使用: $('div_tag_id').click(function(e) { e.stopPropagation(); start_pro
$(document).click(end_process);
$('div_tag_id').click(start_process);
这是不好的,因为单击启动流程后也会立即结束流程。有什么想法吗?在你的处理程序中使用:
$('div_tag_id').click(function(e) {
e.stopPropagation();
start_process();
});
我相信你想要这样的东西:
$('div_tag_id').click(function(e) {
e.stopPropagation();
start_process(e);
});
见:
当然,您只想阻止事件在启动\u进程处理程序中冒泡:
start_process(e) {
e.stopPropagation();
}
编辑:看起来每个人在同一时间都在谈论同一件事。祝你好运 您可以在
start\u process
函数中调用.stopPropagation()
,以阻止事件冒泡到文档中:
function start_process(event) {
event.stopPropagation();
//..your code here
}
以下是.stopPropagation()
的文档:使用stopPropagation
停止单击传播到父对象
$('div_tag_id').click(function(e){
start_process();
e.stopPropagation();
});
或者,只需将stopPropagation
添加到start\u process
的主体中,传递事件对象以模拟原始代码是个好主意,不过您可能还需要设置此值<代码>启动进程。调用(this,e)代码>.True,这可能就是我要做的,我只是尝试复制以前发送给该方法的参数。这比我预期的要容易得多,好的老jQuery!谢谢所有回复的人。