Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery事件处理程序不处理附加元素_Jquery - Fatal编程技术网

jQuery事件处理程序不处理附加元素

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

我正在发送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”,
数据:“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控制台可能会说什么?您需要向我们展示您现在拥有的代码,但我猜您是在附加代码之前创建事件处理程序的。除非委托事件,否则必须先创建元素,然后才能将事件处理程序附加到可能重复的元素