2011-11-28 89 views
3

我点击它时,我要开始处理的DIV标签,在这之后的任何地方点击文件我想结束该进程。到目前为止,我已经试过这样:

$(document).click(end_process); 
$('div_tag_id').click(start_process); 

这也是白搭只要点击启动进程也结束处理随即。有任何想法吗?

+0

嗯,这比我想象的要容易得多,好老的jQuery!感谢所有回复的人。 –

回答

2

我相信你想是这样的:

$('div_tag_id').click(function(e) { 
    e.stopPropagation(); 
    start_process(e); 
}); 

参见:

http://api.jquery.com/event.stopPropagation/

+0

好主意传递事件对象,以模拟原始代码,虽然你可能还需要设置'this'值。 'start_process.call(this,e);'。 – RightSaidFred

+0

诚然,这可能是我会做什么,我只是试图复制,将先前已经发送到方法的参数。 –

2

使用stopPropagation在您的处理程序:

$('div_tag_id').click(function(e) { 
    e.stopPropagation(); 
    start_process(); 
}); 
1

当然,你只是想停止从start_process处理函数冒泡的事件:

start_process(e) { 
    e.stopPropagation(); 
} 

编辑:看起来每个人都在同一时间说同一件事。祝你好运!

1

您可以拨打.stopPropagation()start_process功能冒泡到document停止事件:

function start_process(event) { 
    event.stopPropagation(); 
    //..your code here 
} 

这里是.stopPropagation()的文档:http://api.jquery.com/event.stoppropagation/

0

使用stopPropagation从传播停止点击给父母。

$('div_tag_id').click(function(e){ 
    start_process(); 
    e.stopPropagation(); 
}); 

或者,只需添加stopPropagationstart_process身体。