jquery 給不存在的元素添加事件的方法


問題 : 
 jquery中給元素添加事件是很簡單的,如:添加一個點擊事件。 
          $(選擇器).click(function(){ 
          ); 


但是,項目中做了ajax分頁,第一頁直接加載,使用上述方法,完全沒有問題。但是用在使用ajax分頁,其它頁的內容,都是后面通過innerHTML來進行添加,添加后的元素就沒有相關的事件了。 
       其實,原因也很好理解就是在最開始添加事件時,其它頁的元素並不存在,后面通過innerHTML添加后,標簽是有了,但是對應的事件卻是沒有的。 
       那么,如何解決上面的總結呢??給不存在的元素也添加事件 



解決方案: 
       使用live方法 : 給不存在的元素,綁定事件 
$("#id").live("click", function () { 
            alert("ok"); 
     });
 

但是,jquery 1.9+版本后,就刪除了live方法. 那用什么方法來替換live呢? 

答案,就是使用on方法 

$("#id").on("click",function(){ 
           alert("ok"); 
   });
 

但是,使用了on方法,發現還是無效  ,語法沒有問題,那為啥沒效,答案是不應該這樣寫,如果是給不存在的元素添加事件, 

要使用以下的寫法: 

$(document).on("click",'#id', 
     function(){ 
        alert("ok"); 
    });
 

使用,以上的寫法,問題就解決了. 
參考:https://zhidao.baidu.com/question/2075659031115972868.html 

           http://tieba.baidu.com/p/2587815214?red_tag=f2893548666


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM