jQuery在第一个十一之后停止“点击”动作

时间:2011-05-22 13:53:20

标签: jquery

有两个嵌套元素,两个都有不同的click个动作 单击内部元素时,我需要停止外部元素操作。

HTML:

<div id='out'>
    <div id='in'></div>
</div>

jQuery:

$('#out').click(function(){alert('OUT div is pressed')})
$('#in').click(function(){alert('IN div is pressed')})

我需要按下in时,只执行他的动作。 out的脚本应该没有任何操作。

如何解决?

4 个答案:

答案 0 :(得分:8)

您应该使用stopPropagation():

$('#in').click(function(e){
   alert('IN div is pressed')
   e.stopPropagation();
});

答案 1 :(得分:1)

event.stopPropogation()应该可以帮到你。

答案 2 :(得分:0)

我认为你应该这样做:

$('#out').click(function(){alert('OUT div is pressed')})
$('#in').click(function(event){
alert('IN div is pressed');
event.stopPropagation();
}
)

查看here以供参考

答案 3 :(得分:0)

$('#out').click(function(){
    alert('OUT div is pressed');
});
$('#in').click(function(){
    $('#out').unbind('click');
    alert('IN div is pressed');
});

或者您可以停止传播事件,但您无法确定首先触发哪个事件处理程序(capture vs bubble events):

$('#in').click(function(e){
    e.stopPropagation();
    alert('IN div is pressed');
});