दुर्भाग्य से, यह संभव नहीं लागू करने के लिए mouseleave
घटना व्यवहार ब्राउज़रों में एक ही हो रहा है। यह ब्राउज़र विशिष्ट कार्यान्वयन पर निर्भर करता है।
यह IE documentation के अनुसार मान्य काम करता है।
माउसलेव | onmouseleave घटना
जब उपयोगकर्ता ऑब्जेक्ट की सीमाओं के बाहर माउस पॉइंटर चलाता है तो आग लगती है।
अतिरिक्त जावास्क्रिप्ट कोड का उपयोग करके एक ही प्रभाव प्राप्त किया जा सकता है जो बच्चे वस्तुओं पर ट्रिगर किए गए ईवेंट को संभालेगा।
कृपया example देखें।
मैंने <select>
ऑब्जेक्ट पर फोकस/धुंध घटनाओं के लिए कुछ सहायक चर और हैंडलर जोड़े हैं।
var isSelectFocussed=false;
var inside = false;
function onMouseOut() {
!isSelectFocussed && (document.getElementById('result').innerHTML = 'out');
}
document.getElementById('parent')
.addEventListener('mouseleave', function() {
onMouseOut();
inside = false;
})
document.getElementById('parent')
.addEventListener('mouseover', function() {
document.getElementById('result').innerHTML = 'in';
inside = true;
});
document.querySelector('select')
.addEventListener('focus', function() {
isSelectFocussed = true;
});
document.querySelector('select')
.addEventListener('blur', function() {
isSelectFocussed = false;
!inside && onMouseOut();
});
भी हो, यह <input>
छिपा के साथ कस्टम लटकती उपयोग करने के लिए शायद आसान हो जाएगा।
हाँ, शायद कुछ ब्राउज़र-लक्ष्यीकरण सीएसएस के लिए समय, या डरावना ' 'सशर्त टिप्पणियां। –