समस्या यह थी कि मुझे "onClickOut" -Event की आवश्यकता है।onClickOut (तत्व छोड़ने के बाद क्लिक करें)
उदाहरण के लिए: आपके पास कुछ बटन या कभी भी होवरिंग (ऑनसाउस ओवर) पर एक डीआईवी देखने है।
यदि आप तत्व के बाहर क्लिक करते हैं तो इसे छिपाने की जरूरत है, लेकिन यदि आप $ ("body") कहते हैं। पर क्लिक करें, जब आप तत्व में स्वयं क्लिक करते हैं तो यह भी छिपा होगा। :/
अब मैं माउसपोजिशन सुनता हूं और माउसलेव() मैंने अपने तत्व में क्लिक करने पर एक var सेट किया है। अगले चरण में मैं एक जीनरल क्लिक-इवेंट (बॉडी) सुनता हूं लेकिन मैं पूछता हूं कि var सेट किया गया था या नहीं। यदि नहीं, तो यह मेरे तत्व के बाहर एक क्लिक होना है, इसलिए मैं अपना तत्व छुपा सकता हूं।
मुझे आशा है कि आप इसका इस्तेमाल कर सकते हैं:
$("#schnellsuche_box").mouseleave(function() {
var inside;
$("#schnellsuche_box").click(function() {
inside = true;
});
$("body").click(function() {
if(!inside) {
$("#schnellsuche_box").hide();
}
});
delete inside;
});
नोट: आप स्थानीय चर को 'हटा नहीं सकते'। (लेकिन यदि आप कर सकते हैं, तो यह समझ में नहीं आएगा क्योंकि आपके क्लिक हैंडलर उस चर का उपयोग करने का प्रयास करते हैं।) – nnnnnn