有两个嵌套元素,两个都有不同的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
的脚本应该没有任何操作。
如何解决?
答案 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');
});