事件停止传播不适用于我的以下代码
<div id="notif_msg" class="messages" style="display: block;">
<a href="/fotos.php?pag=galeria&view=315" class="message" id="2788">
<span id="2788" style="color:white;">TRY</span>
</a>
然后我用这个jquery来停止它的事件
$( '#notif_msg a.message' ).live("click",function( event ) {
event.stopPropagation();
});
我疯狂的猜测是我点击我的span元素而不是a元素。我正在使用直播活动因为我附加了一些其他元素。
请帮忙。
UPDATE ----这是我动态加载通知的ajax
function loadnotif(myid){
$.ajax({
type: "POST",
url: "fragmentos/ajax/loadnotif.php",
data:{"myid":myid},
dataType: 'json',
cache: false,
success: function(html)
{
$('#notif_msg').append(html.data);
if(html.newnot == 1){
$('#noti-container').removeClass('noticon');
$('#noti-container').addClass('noticon-active');
}
}
});
}
答案 0 :(得分:1)
问题是你正在使用事件分区,而live()
会将处理程序附加到文档对象,这意味着事件已经到达树的顶部,并且没有其他传播
如果要停止传播,则需要将处理程序直接绑定到元素
$('#notif_msg a.message').click(function (event) {
event.stopPropagation();
});
注意:你应该使用jQuery&lt; 1.9 live
工作,所以我假设你正在使用jQuery&lt; 1.9。但是,如果您使用.on()
进行事件委派