मैं जावास्क्रिप्ट (WC3 मॉडल बनाम माइक्रोसॉफ्ट मॉडल) में अलग अलग घटना मॉडल के बारे में पता कर रहा हूँ, और साथ ही उत्साह से भरा हुआ और कैप्चरिंग के बीच का अंतर। हालांकि, इस मुद्दे के बारे में विभिन्न लेखों को पढ़ने में कुछ घंटों के बाद, मुझे अभी भी अनिश्चितता है कि निम्न प्रतीत होता है कि सरल तरीके से सरल व्यवहार कैसे करें:जावास्क्रिप्ट: एकाधिक mouseout ईवेंट के कारण
यदि मेरे पास बाहरी div
और एक आंतरिक div
तत्व है, तो मुझे एक माउस- जब माउस बाहरी-div छोड़ देता है तो घटना को ट्रिगर किया जाता है। जब माउस आंतरिक-div से बाहरी-div तक जाता है, तो कुछ भी नहीं होना चाहिए, और जब माउस बाह्य-div से आंतरिक-div तक पार हो जाता है तो कुछ भी नहीं होना चाहिए। घटना केवल आग होनी चाहिए यदि माउस बाह्य-div से आसपास के पृष्ठ तक चलता है।
<div id="outer" style = "width:20em; height:20em; border:1px solid #F00" align = "center" onmouseout="alert('mouseout event!')" >
<div id="inner" style = "width:18em; height:18em; border:1px solid #000"></div>
</div>
अब
, अगर मैं बाहरी-div पर "mouseout" घटना, दो mouseout घटनाओं निकाल दिया जाता है जगह जब आसपास पृष्ठ पर भीतरी div से माउस चालें, क्योंकि घटना की आग एक बार जब माउस आंतरिक से बाहरी तक चलता है, और फिर फिर जब यह बाहरी से आसपास के पृष्ठ तक चलता है।
मुझे पता है कि मैं ev.stopPropagation()
का उपयोग करके ईवेंट को रद्द कर सकता हूं, इसलिए मैंने ईवेंट प्रचार को रद्द करने के लिए आंतरिक-div के साथ एक ईवेंट हैंडलर को पंजीकृत करने का प्रयास किया। हालांकि, यह घटना को फायरिंग से नहीं रोकेगा जब माउस बाह्य-div से आंतरिक-div तक चलता है।
तो, जब तक मैं कुछ अनदेखी कर रहा हूँ, यह मेरे लिए इस व्यवहार जटिल माउस ट्रैकिंग कार्यों के बिना पूरा नहीं किया जा सकता है लगता है। भविष्य में, मैं JQuery की तरह एक और उन्नत ढांचे का उपयोग करके इस कोड को बहुत से कार्यान्वित करने की योजना बना रहा हूं, लेकिन अभी के लिए, मैं सोच रहा हूं कि नियमित जावास्क्रिप्ट में उपर्युक्त व्यवहार को लागू करने का एक आसान तरीका है या नहीं।
पेज शायद के रूप में संयुक्त तत्वों का इलाज करता है? बाहरी-div की तरह ही "बाहरी-div" होगा और उसके अंदर आंतरिक-div "बाहरी-div + आंतरिक-div" होगा, इसलिए यदि आप उनके बीच पार करते हैं तो यह उन्हें दो अलग-अलग दोनों के रूप में मानता है, दोनों उन दोनों से जुड़े एक ऑनसाउसआउट घटना के साथ? ऐसा लगता है कि यह अजीब लगता है लेकिन ऐसा लगता है कि पेज यहां कैसे काम कर रहे हैं। – animuson