jquery 動態增加的html元素,初始化設置在id或class上的事件無效


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

至此,完美解決。


免責聲明!

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



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