jQuery解决添加元素后不执行原有事件的方法 程序员文章站 2022-09-16 23:53:32 我们先来看下我的错误代码html: 我们先来看下我的错误代码 html: <table border="1" id="best"> <tr> <td> <button class="change">修改</button> </td> </tr> <tr> <td> <button class="del">删除</button> </td> </tr> <tr class="last"><td><button class="add">添加</button></td></tr> </table> js: $(".add").click(function(){ var newyuansu = $("<tr><td><button class='del'>删除</button></td></tr>"); $(".last").before(newyuansu); }) $(".del").click(function(){ $(this).parents("tr").remove(); }) 而此时使用jquery新加元素,新元素元素不会执行一部分原有的事件函数 博主是学生,也只是研究了一种方法: $("#best").on("click",".del",function(){ $(this).parents("tr").remove(); }) 把原本的click事件这样写,就可在新加的元素使用,非常好用~ 补充: 一、jquery1.3版本以下的(不包括jquery1.3),是时候更新你的jquery版本了。 因为 无解无解无解无解无解无解 二、如果jquery版本是在1.3-1.8之间的话,js/jq动态添加的元素触发绑定事件的解决方法(不建议用on事件,因为1.6版本以下不支持on事件,会报错) 绑定live事件(live事件只在jquery1.9以下才支持,高版本不支持)。 $(".del").live("click",function(){ ///jquery 1.9(不包括1.9)以下可以 alert('这里是动态元素添加的事件'); }) 三、推荐使用on 如果jquery版本是在1.9或者更高的话,live委托事件是被移除的,通过on来实现。js/jq动态添加的元素触发绑定事件的解决方法 注意注意:如果页面同时存在低版本的jq(1.3-1.8)和高版本jq(jquery1.9以上)的话,live委托事件会被高版本移除,最后导致虽然有jquery版本是在1.3-1.8之间,使用了live事件,页面会报错。 到此这篇关于jquery解决添加元素后不执行原有事件的方法的文章就介绍到这了,更多相关jquery的内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持! 相关标签: jQuery 添加元素 不执行原有事件 上一篇: 和通泊之战之中,骁勇善战的满洲八旗兵为什么会惨败? 下一篇: 那里有一坨妇女 推荐阅读 JQuery给元素绑定click事件多次执行的解决方法 jquery中ajax请求后台数据成功后既不执行success也不执行error的完美解决方法 jQuery解决添加元素后不执行原有事件的方法 jQuery动态添加元素无法触发绑定事件的解决方法分析 【jQuery】解决动态添加的元素绑定事件不生效的问题 jquery无法为动态生成的元素添加点击事件的解决方法(推荐) JQuery 给元素绑定click事件多次执行的解决方法 JQuery给元素绑定click事件多次执行的解决方法 jquery中ajax请求后台数据成功后既不执行success也不执行error的完美解决方法 【jQuery】解决动态添加的元素绑定事件不生效的问题