उपयोगकर्ता113716 का शानदार उत्तर अब काम नहीं करेगा jQuery 1.9+, क्योंकि छद्म-घटनाhover
अब समर्थित नहीं है (upgrade guide)।
इसके अलावा के बाद से jQuery 3.0delegate()
बंधन घटनाओं के लिए आधिकारिक तौर पर हटा दिया गया है, इसलिए सभी घटना बाध्यकारी प्रयोजनों के लिए नईon()
(docs) का इस्तेमाल करें।
$('mydiv').on('mouseenter mouseleave', 'seconddiv', function(event) {
$(this).toggle(event.type === 'mouseenter');
});
अगर आपकी समस्या एक साधारण toggle
से अधिक जटिल है, मैं बंधन का सुझाव देते हैं दो अलग-अलग घटनाओं:
आप आसानी से mouseenter mouseleave
साथ hover
की जगह और on()
वाक्य रचना में स्विच करके user113716 के समाधान की ओर पलायन कर सकते हैं :
$('mydiv').on('mouseenter', 'seconddiv', function(event) {
// do something
}).on('mouseleave', 'seconddiv', function(event) {
// do something different
});
एनबी: के बाद सेV1.9 और on()
मेंको हटा दिया गया था v1.7 में पेश किया गया था, delegate()
का उपयोग करके समाधान की कोई वास्तविक आवश्यकता नहीं है - लेकिन अगर आपको किसी कारण से यह पसंद है; यह अभी भी है (अभी के लिए) और नौकरी करता है:
$('mydiv').delegate('seconddiv','mouseenter mouseleave', function(event) {
$(this).toggle(event.type === 'mouseenter');
});
यदि आप अपने एचटीएमएल का एक उदाहरण प्रदान करते हैं, तो मैं आपके मार्कअप के लिए अधिक उत्तर दे सकता हूं। – user113716