一般情況,我們會在頁面初始化完成后對class定義一些全局事件,舉個栗子:
$(document).ready(function(){ $(".class").on("mouseover",function(e){ alert("鼠標經過了"); }); });
正常情況下,這樣的寫法是正確的。可是往往當我們需要通過jquery動態的添加一些html元素到界面時,會發現定義的全局方法對新增元素無效了,舉個栗子:
function addDom(){ $("#abc").append("<div class='class'></div>"); }
以前處理的方案是初始化事件時使用live,栗如:
$(".class").live("mouseover",function(){ alert("鼠標經過了"); });
今天使用jquery 1.10.2時居然提示live關鍵字無效,百度一下,原來在新版本的jquery中去掉了live關鍵字,新的寫法如下:
$(document).ready(function(){ $(document).on("mouseover",".class",function(e){ alert("鼠標經過了"); }); }
至此,完美解決。