jQuery事件处理程序不处理附加元素
我正在发送ajax请求,并将结果附加到一个div上。在这个附加之后,如果我想单击附加的链接(exec jquery click函数),为什么click函数不起作用?(抱歉英语不好:P) 编辑:jQuery事件处理程序不处理附加元素,jquery,Jquery,我正在发送ajax请求,并将结果附加到一个div上。在这个附加之后,如果我想单击附加的链接(exec jquery click函数),为什么click函数不起作用?(抱歉英语不好:P) 编辑: jQuery('.more').live(“单击”,函数(){ var ID=jQuery(this.attr(“ID”); 如果(ID){ jQuery(“#more”+ID).html(“”); jQuery.ajax({ 类型:“POST”, url:“loadmore.php”, 数据:“last
jQuery('.more').live(“单击”,函数(){
var ID=jQuery(this.attr(“ID”);
如果(ID){
jQuery(“#more”+ID).html(“”);
jQuery.ajax({
类型:“POST”,
url:“loadmore.php”,
数据:“lastid=”+ID,
cache:false,
成功:函数(html){
$(“#contentWall”).append(html);
jQuery(“#more”+ID).remove();//删除旧的more按钮
}
});
}否则{
jQuery(“.morebox”).html('End');//没有结果
}
返回false;
});
您需要使用或,这取决于您的jQuery版本
常规的.click()
仅适用于DOM中当前的元素,不适用于将来的添加。您需要使用或,具体取决于您的jQuery版本
常规的
.click()
仅适用于DOM中当前的元素,不适用于将来的添加。如果没有更多信息,则很难确定,但您的问题可能是您正在使用类似的内容
// this only bind click handler to existing elements matching selector
$('#mycontainer a').click(function(){...})
您需要使用来覆盖动态添加的元素
// this bind click handler to current and future elements matching selector
$('#mycontainer').on('click','a',(function(){...})
没有更多的信息是很难确定的,但你的问题可能是你正在使用这样的东西
// this only bind click handler to existing elements matching selector
$('#mycontainer a').click(function(){...})
您需要使用来覆盖动态添加的元素
// this bind click handler to current and future elements matching selector
$('#mycontainer').on('click','a',(function(){...})
最初加载页面时,单击事件将绑定到链接。这意味着在此之后引入DOM的任何新链接都不会绑定click事件。您需要将单击事件绑定到要附加的链接:
$(newlink).click(function(event){
// your onclick code
});
$(mydiv).append(newlink);
最初加载页面时,单击事件将绑定到链接。这意味着在此之后引入DOM的任何新链接都不会绑定click事件。您需要将单击事件绑定到要附加的链接:
$(newlink).click(function(event){
// your onclick code
});
$(mydiv).append(newlink);
您的JS控制台说什么?您需要向我们展示您现在拥有的代码,但我猜您是在添加代码之前创建事件处理程序的。除非您委派事件,否则您必须先创建元素,然后才能将事件处理程序附加到元素。JS控制台可能会说什么?您需要向我们展示您现在拥有的代码,但我猜您是在附加代码之前创建事件处理程序的。除非委托事件,否则必须先创建元素,然后才能将事件处理程序附加到可能重复的元素