小編給大家分享一下jquery中怎么給不存在的元素添加事件,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
成都地區(qū)優(yōu)秀IDC服務(wù)器托管提供商(成都創(chuàng)新互聯(lián)公司).為客戶提供專業(yè)的成都服務(wù)器托管,四川各地服務(wù)器托管,成都服務(wù)器托管、多線服務(wù)器托管.托管咨詢專線:028-86922220
jquery給不存在的元素添加事件的方法:1、【jquery1.9】版本之前,使用live方法,代碼為【$("#id").live("click", function ()】;2、【jquery1.9】版本之后,使用On方法。
jquery給不存在的元素添加事件的方法:
問(wèn)題 :
jquery中給元素添加事件是很簡(jiǎn)單的,如:添加一個(gè)點(diǎn)擊事件。
$(選擇器).click(function(){ );
但是,項(xiàng)目中做了ajax分頁(yè),第一頁(yè)直接加載,使用上述方法,完全沒(méi)有問(wèn)題。但是用在使用ajax分頁(yè),其它頁(yè)的內(nèi)容,都是后面通過(guò)innerHTML來(lái)進(jìn)行添加,添加后的元素就沒(méi)有相關(guān)的事件了。
其實(shí),原因也很好理解就是在最開(kāi)始添加事件時(shí),其它頁(yè)的元素并不存在,后面通過(guò)innerHTML添加后,標(biāo)簽是有了,但是對(duì)應(yīng)的事件卻是沒(méi)有的。
那么,如何解決上面的總結(jié)呢??給不存在的元素也添加事件
解決方案:
使用live方法 : 給不存在的元素,綁定事件
$("#id").live("click", function () { alert("ok"); });
但是,jquery 1.9+版本后,就刪除了live方法. 那用什么方法來(lái)替換live呢?
答案,就是使用on方法
$("#id").on("click",function(){ alert("ok"); });
但是,使用了on方法,發(fā)現(xiàn)還是無(wú)效 ,語(yǔ)法沒(méi)有問(wèn)題,那為啥沒(méi)效,答案是不應(yīng)該這樣寫,如果是給不存在的元素添加事件,
要使用以下的寫法:
$(document).on("click",'#id', function(){ alert("ok"); });
以上是“jquery中怎么給不存在的元素添加事件”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!