jQuery中增加新元素后没法响应原有的事件

相信很多朋友在使用jQuery的append方法来增加一个新元素后,新的元素却无法响应元素已经定义好的事件程序。

$(document).ready(function(){
	
	$(".xz").click(function()//单击选中某个单元
	{
		alert($(this).text());
	});
}

上面的代码是响应元素中含有class=xz的,如果我用append()方法增加了一个含有class=xz的元素,该元素却无

法响应$(".xz").click()事件。

原因是$(document).ready(function(){}在网页载入时根据存在的网页结构解析元素的事件绑定,从而用append

方法新增加的元素没有绑定原来的事件,故不能响应原有的事件。

解决方法是:在使用append方法中,为元素重新绑定事件,即:

$(document).ready(function(){
        $(".xz").click(function()
        {
              $("#aa").append("<span class='xz'>1111</span>");
         
	      $(".xz").click(function()//单击选中某个单元
	      {
		 alert($(this).text());
	      });
         }
}

上面新增加的<span class='xz'>1111</span> 能够响应$(".xz").click()单击事件,从而弹出提示框。



----------------------------------------------------------------------
“我可以接受失败,但绝对不能接受自己未曾奋斗过。”--迈克尔-乔丹
“I can accept failure, but I can't accept not trying.”--Michael Jordan.
原文地址:https://www.cnblogs.com/beyondfengyu/p/2976741.html