2013-02-12 27 views
5

में मेरे पास एक ऐसा फ़ंक्शन है जो 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/

समर्थन के लिए धन्यवाद!

उत्तर

8

1.9.1 में आप mouseover

$(document).on("mouseover", "#cart-left", function(){ 
    $("#cart").addClass('active'); 
}); 
5

का उपयोग करना चाहिए hover आशुलिपि

की स्थिति jQuery 1.8 के रूप में hover आशुलिपि किया गया है पदावनत। देखें jQuery on() documentation:

jQuery 1.8 के रूप में पदावनत: नाम "मंडराना" स्ट्रिंग "mouseenter mouseleave"

jQuery 1.9 के रूप में के लिए एक आशुलिपि के रूप में इस्तेमाल किया, hover आशुलिपि असमर्थित है । jQuery 1.9 Upgrade Guide

वैकल्पिक

आपके मामले में देखें तो इसका मतलब है आप mouseenter घटना का उपयोग करना चाहिए। उदाहरण के लिए:

$(document).on("mouseenter", "#cart-left", function(){ 
    $("#cart").addClass('active'); 
}); 

देखें jsFiddle demo

on()

कि जब तक चयनकर्ता on() के लिए पारित गतिशील डोम में जोड़े गए तत्वों को संदर्भित करता है यह भी ध्यान देने योग्य है के बेहतर उपयोग करना (यानी पृष्ठ लोड के बाद), प्रतिनिधि को document पर हैंडलर की कोई आवश्यकता नहीं है।

$("#cart-left").on("mouseenter", function(){ 
    $("#cart").addClass('active'); 
}); 
2

समस्या समारोह "पर" पर नहीं है, बल्कि "मंडराना" छद्म घटना है: इसके बजाय, इस मामले में आप शायद बाँध हैंडलर तो जैसे तत्व को सीधे कार्य कर सकते हैं 1.9.1: http://jquery.com/upgrade-guide/1.9/#hover-pseudo-event

में बहिष्कृत (और हटाया गया)
संबंधित मुद्दे