jQuery失效问题解决方案

jQuery是广受大家的喜爱一款js框架,我们在使用Ajax去改变页面内容之后,页面中可能会加入新的标签。当我们想使用ready方法中已经注册的事件时,发现对新加入的标签不起作用了,这就需要为新加入的标签绑定事件。

如果它的ID=a,那么之前在ready之中注册的事件就会失效。

网页中存在如下代码:

<div id="insertdiv"></div>

<a href="#" id="ch1">Click</a>

我们想在insertdiv中插入新的<a>那么有如下脚本:

$(document).ready(function () {

//插入一个标签

$("#ch1").click(function () {

   $('<a id="new" href="#">NEW</a>').appendTo("#insertdiv");

});

//事先给该标签绑定了click事件处理代码

$("#new").bind("click",function () {

   alert();

});

//该结果是click事件处理是无效的

});

解决方案如下:

$("#ch1").click(function () {

   $('<a id="new" href="#">NEW</a>').appendTo("#insertdiv");

   $("#new").bind("click",function () {

   alert();

   });

});

 

这样子就可以了。。。

原文地址:https://www.cnblogs.com/colorfulkoala/p/2431513.html