您好,登錄后才能下訂單哦!
本篇內容主要講解“jQuery怎么解決添加元素后不執行原有事件”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“jQuery怎么解決添加元素后不執行原有事件”吧!
我們先來看下我的錯誤代碼
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怎么解決添加元素后不執行原有事件”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。