मूल (और सही) उत्तर:
आप is()चयनकर्ता के लिए उपयोग और जांच कर सकते हैं :hover।
var isHovered = $('#elem').is(":hover"); // returns true or false
उदाहरण: http://jsfiddle.net/Meligy/2kyaJ/3/
(यह तभी काम करता है जब चयनकर्ता एक तत्व अधिकतम से मेल खाता है। अधिक के लिए संपादन 3 देखें)
।
1 संपादित करें (29 जून 2013): (केवल 1.10+ के साथ काम करने पर 1.9.x पर लागू होता है, इसे संपादित करें देखें)
यह उत्तर उस समय सबसे अच्छा समाधान था जब प्रश्न का उत्तर दिया गया था। यह ': hover' चयनकर्ता .hover()jQuery 1.9.x में विधि हटाने के साथ हटा दिया गया था।
दिलचस्प रूप से "एलिकार्नर" द्वारा हाल ही में दिए गए उत्तर से पता चलता है :hoverकि सीएसएस चयनकर्ता (बनाम सिज़ल) के रूप में इसका उपयोग करना संभव है जब आप इसे चयनकर्ता के साथ जोड़ते हैं $($(this).selector + ":hover").length > 0, और यह काम करने लगता है!
इसके अलावा, एक अन्य उत्तर में उल्लिखित hoverIntent प्लगइन बहुत अच्छा लगता है।
संपादित 2 (21 सितंबर, 2013): .is(":hover") काम करता है
एक अन्य टिप्पणी के आधार पर मैंने देखा है कि मैंने जिस मूल तरीके से पोस्ट किया था .is(":hover"), वास्तव में अभी भी jQuery में काम करता है, इसलिए।
इसने jQuery 1.7.x में काम किया।
1.9.1 में काम करना बंद कर दिया, जब किसी ने मुझे इसकी सूचना दी, और हम सभी ने सोचा कि यह hoverउस संस्करण में इवेंट हैंडलिंग के लिए उपनाम हटाने के लिए jQuery से संबंधित है ।
इसने फिर से jQuery 1.10.1 और 2.0.2 (शायद 2.0.x) में काम किया, जो बताता है कि 1.9.x में विफलता एक बग थी या इसलिए एक जानबूझकर व्यवहार नहीं था जैसा कि हमने पिछले बिंदु में सोचा था।
यदि आप एक विशेष jQuery संस्करण में यह परीक्षण करना चाहते हैं, तो बस इस उत्तर की शुरुआत में JSFidlle उदाहरण खोलें, वांछित jQuery संस्करण में बदलें और "रन" पर क्लिक करें। यदि रंग होवर पर बदलता है, तो यह काम करता है।
।
संपादन 3 (9 मार्च, 2014): यह केवल तभी काम करता है जब jQuery अनुक्रम में एक ही तत्व हो
जैसा कि टिप्पणियों में @Wilmer द्वारा दिखाया गया है, उसके पास एक बेला है जो jQuery के संस्करणों I और अन्य के खिलाफ भी काम नहीं करता है। जब मैंने यह जानने की कोशिश की कि उसके मामले में क्या खास है तो मैंने देखा कि वह एक समय में कई तत्वों की जाँच करने की कोशिश कर रहा था। यह फेंक रहा था Uncaught Error: Syntax error, unrecognized expression: unsupported pseudo: hover।
तो, उसकी बेला के साथ काम करना, यह काम नहीं करता है:
var isHovered = !!$('#up, #down').filter(":hover").length;
जबकि यह काम करता है :
var isHovered = !!$('#up,#down').
filter(function() { return $(this).is(":hover"); }).length;
यह jQuery दृश्यों के साथ भी काम करता है, जिसमें एक ही तत्व होता है, जैसे कि मूल चयनकर्ता केवल एक तत्व से मेल खाता है, या यदि आप .first()परिणाम पर कॉल करते हैं, आदि।
यह मेरे जावास्क्रिप्ट + वेब देव टिप्स एंड रिसोर्स न्यूज़लेटर पर भी संदर्भित है ।