$('#dom2').click(function(e){
//do something
});
這是一段很常見jquery事件綁定代碼,也是本人經常使用的代碼,但是它對後期生成的html代碼無法實現綁定。
jQuery的事件綁定有多個方法可以調用,以click事件來舉例:
- bind(支持Jquery所有版本);
- delegate(支持jquery1.4.2+);
- on方法(支持jquery1.7+);
- live方法(支持jquery1.9-,on替換);
- click方法
不管你用的是(click / bind / delegate/live)之中那個方法,最終都是jQuery底層都是調用on方法來完成最終的事件綁定。
因此從某種角度來講除了在書寫的方便程度及習慣上挑選,不如直接都採用on方法來的痛快和直接而且on方法綁定事件可以提升效率。
使用on方法,將事件綁定於未來要生成的節點的靜態父節點上,可以確保事件有效。
$(document).on('click','td canvas',function(e){
//do something
});