我有一個與jQuery 1.8.3兼容的函數,但是當我升級到1.9.1時,它不再工作,但文檔沒有變化。有人知道如何解決這個問題嗎?jQuery函數.on在1.8.3中工作,但不在1.9.1中
$(document).on("hover", "#cart-left", function(){
$("#cart").addClass('active');
});
http://jsfiddle.net/michalcerny/R9HZp/
謝謝支持!
我有一個與jQuery 1.8.3兼容的函數,但是當我升級到1.9.1時,它不再工作,但文檔沒有變化。有人知道如何解決這個問題嗎?jQuery函數.on在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()
documentation:
棄用的jQuery 1.8:名稱用作字符串 「的mouseenter鼠標離開」
在jQuery 1.9的速記 「盤旋」,該hover
速記是不受支持 。見jQuery 1.9 Upgrade Guide
替代
在你的情況,這意味着你應該使用mouseenter
事件。例如:
$(document).on("mouseenter", "#cart-left", function(){
$("#cart").addClass('active');
});
製作的on()
另外值得一提的是,除非選擇傳遞給on()
是指被添加到DOM動態元素更好的使用(即在頁面加載後),則不需要委託人處理程序到document
。相反,在這種情況下,你或許可以綁定處理函數直接的元素,像這樣:
$("#cart-left").on("mouseenter", function(){
$("#cart").addClass('active');
});
的問題是沒有對「上」的功能,而是「懸停」僞事件有在1.9.1中被棄用(並被移除):http://jquery.com/upgrade-guide/1.9/#hover-pseudo-event