[英]jQuery function .on works in 1.8.3 but not in 1.9.1
我有一個與jQuery 1.8.3一起使用的功能但是當我升級到1.9.1時它不再工作了,但是文檔沒有變化。 有人知道如何解決這個問題嗎?
$(document).on("hover", "#cart-left", function(){
$("#cart").addClass('active');
});
http://jsfiddle.net/michalcerny/R9HZp/
感謝你的支持!
在1.9.1中,您應該使用mouseover
$(document).on("mouseover", "#cart-left", function(){
$("#cart").addClass('active');
});
hover
速記的狀態
從jQuery 1.8開始, hover
速記已被棄用 。 請參閱jQuery on()
文檔 :
自jQuery 1.8開始不推薦使用:名稱“hover”用作字符串“mouseenter mouseleave”的簡寫
從jQuery 1.9開始, hover
速記不受支持 。 請參閱jQuery 1.9升級指南
替代
在您的情況下,這意味着您應該使用mouseenter
事件。 例如:
$(document).on("mouseenter", "#cart-left", function(){
$("#cart").addClass('active');
});
請參閱jsFiddle演示
更好地利用on()
值得注意的是,除非傳遞給on()
的選擇器引用動態添加到DOM的元素(即在頁面加載之后),否則不需要將處理程序委托給document
。 相反,在這種情況下,您可以將處理函數直接綁定到元素,如下所示:
$("#cart-left").on("mouseenter", function(){
$("#cart").addClass('active');
});
問題不在於“on”函數,而是在1.9.1中已棄用(和刪除)的“hover”偽事件: http : //jquery.com/upgrade-guide/1.9/#hover-偽事件
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.