一般情況,我們會在頁面初始化完成后對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("鼠標經過了");
});
}
至此,完美解決。
