<input type="button" class="pop_up" value="pop_up" />
<input type="button" class="go_back" value="go_back" />
<div id="contents"></div>
<script>
$(".pop_up").live("click", function (e) {
var seq = $(this).val()
alert(seq);
}); // #1
$(".go_back").live("click", function (e) {
$("#contents").load("test.php");
}); // #2
</script>
现在,
根据点击次数#2,弹出#1警报窗口。
有谁能让我知道如何阻止#2
的事件冒泡提前谢谢
答案 0 :(得分:0)
如果#1事件被触发,您可以尝试使用指示器,并且只有在没有触发#1事件的情况下才能处理#2功能。
$(".pop_up").live("click",function(e)
{
$(this).data('pop_up_click', true); // set 'pop_up_click' property to the element
// #1 var seq=$(this).val() alert(seq);
});
$(".go_back").live("click", function(e)
{
if(!$(this).data('pop_up_click')) // execute something only if there is no 'pop_up_click' property
// #2 $("#contents").load( "test.php" );
});
答案 1 :(得分:-1)
参考接受的答案here,这个 MAY 可以工作。
$(".go_back").live("click", function(e) { // #2
$("#contents").load("test.php");
e.stopImmediatePropagation()
});
如果可能,真正的解决方案是使用.bind()
,前提是您不需要直接.live()
的好处。