jquery對動態生成節點的事件綁定

$('#dom2').click(function(e){  
  //do something  
}); 

這是一段很常見jquery事件綁定代碼,也是本人經常使用的代碼,但是它對後期生成的html代碼無法實現綁定。

jQuery的事件綁定有多個方法可以調用,以click事件來舉例:

  1. bind(支持Jquery所有版本);
  2. delegate(支持jquery1.4.2+);
  3. on方法(支持jquery1.7+);
  4. live方法(支持jquery1.9-,on替換);
  5. click方法

不管你用的是(click / bind / delegate/live)之中那個方法,最終都是jQuery底層都是調用on方法來完成最終的事件綁定。
因此從某種角度來講除了在書寫的方便程度及習慣上挑選,不如直接都採用on方法來的痛快和直接而且on方法綁定事件可以提升效率。
使用on方法,將事件綁定於未來要生成的節點的靜態父節點上,可以確保事件有效。

 $(document).on('click','td canvas',function(e){
      //do something
  });


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章