在这个程序中,我试图使用live(for ajax issue)
<div id="rpt1" class="test"></div>
<div id="rpt2" class="test"></div>
<div id="rpt3" class="test"></div>
<div id="rpt4" class="test"></div>
<div id="rpt5" class="test"></div>
$('.test').live('click',test2);
之后我试图解除绑定或死掉其中一个处理程序
$('#rpt1').die('click');
如果我使用
$('.test').die('click');
我会死所有.....这是我想做的最后一件事。 我但事件仍然有效。 我想知道如何解决这个..尝试了几个小时edi .. thx ^^
我可以把实时代码放在这里。 我有很多这些div
{$ lang.report}然后住在这里 $( “报告”)。住( '点击',函数(){
if($(this).next(".report_type").is(':visible')){
$(this).next(".report_type").hide();
}else{
$(this).next(".report_type").show()
}
return false;
});
function report_comment(category,comment_id,report_type) { 等等等等等等 $( '#报告' + COMMENT_ID).die( '点击'); }
答案 0 :(得分:1)
您需要将回调函数作为第二个参数传递
$('.test').die('click',test2);
请参阅:http://api.jquery.com/die/#die2
修改强>:
我误解了你的问题。
尝试此$('#rpt1').removeClass('test');
从其中一个div中删除实时事件
答案 1 :(得分:0)
尝试将处理程序传递给死亡
$('.test').die('click',test2);
答案 2 :(得分:0)
试试这个:
$('.test').live('click',function(){
var $id = $("#" + $(this).attr('id'));
if($id.next().is(':visible')){
$id.die('click');
$(id).next().hide();
} else {
$id.die('click');
$id.next().show();
}
});
答案 3 :(得分:0)
我认为你错过了来自.die()
的非常重要的信息和平注意:直到jQuery 1.4.4,为了使.die()正常运行,与它一起使用的选择器必须与最初与.live()一起使用的选择器完全匹配。
他们给出点击和骰子的每个例子都应用于同一个选择器