मैं दक्षता के मामले में और सोच रहा हूं। यदि मैं किसी तत्व का प्रदर्शन none
पर सेट करना चुनता हूं, तो क्या जावास्क्रिप्ट इसके साथ जुड़ी घटनाओं को सुनना जारी रखेगा, या क्या यह अस्थायी रूप से उन्हें तब तक हटा देगा जब तक कि प्रदर्शन वापस नहीं किया जाता है?सीएसएस/जावास्क्रिप्ट - क्या "प्रदर्शित: कोई नहीं" किसी भी संबंधित ईवेंट श्रोताओं को अस्थायी रूप से हटा देता है?
उत्तर
यह घटनाओं के प्रकार पर निर्भर करता है। चलो एक click
घटना का उपयोग कर कोशिश करते हैं:
$(function() {
// Let's attach an event.
$("#eventContainer").click(function() {
$("#eventAffected").html("I changed.");
});
// This will hide the container surely when you click.
$("#hide-container").click(function() {
$("#eventContainer").hide().css("display", "none");
});
// This will trigger the event on the element.
$("#trigger-event").click(function() {
$("#eventContainer").trigger("click");
});
});
* {font-family: 'Segoe UI'; margin: 5px;}
#eventContainer, #eventAffected {background-color: #ccf; text-align: center; padding: 5px;}
#eventAffected {background-color: #cfc;}
<script src="https://code.jquery.com/jquery-1.9.1.js"></script>
<div id="eventContainer">Hello I am the Event Box</div>
<div id="eventAffected">Hello, I change when event triggered on the above.</div>
<button id="hide-container">Hide</button>
<button id="trigger-event">Trigger Click</button>
परीक्षण मामलों पहले डिव पर
- क्लिक करें।द्वितीय div परिवर्तन, ईवेंट ट्रिगर किया गया है।
- ट्रिगर क्लिक पर क्लिक करें।द्वितीय div परिवर्तन, ईवेंट ट्रिगर किया गया है।
- छुपाएं और ट्रिगर क्लिक पर क्लिक करें।द्वितीय div परिवर्तन, ईवेंट ट्रिगर किया गया है।
निष्कर्ष
हो या न हो, डोम तत्व स्क्रीन में या ऑफ स्क्रीन दिखाई दे रहा है, सभी घटनाओं और व्यवहार संरक्षित कर रहे हैं। केवल सीएसएस प्रदर्शन बदल गया है। कुछ और नहीं, व्यवहार से संबंधित कुछ भी प्रभावित नहीं है।
यह सभी घटनाओं के समान है, केवल एक चीज है, आप आयाम या बॉक्स मॉडल की गणना नहीं कर सकते हैं।
तो इससे पता चलता है कि visibility: hidden
या display: none
होने पर ईवेंट संरक्षित होते हैं।
इस स्पष्टीकरण के लिए बहुत धन्यवाद। क्वांटिन के जवाब को निर्देशित करना, भले ही ईवेंट को हटाया न जाए, क्या मैं यह कहने में सही हूं कि जब तत्व प्रदर्शित नहीं किया जा रहा है तो ब्राउजर उनके लिए परीक्षण करना बंद कर देगा? – sookie
तकनीकी रूप से यह जांच और ट्रिगर किया जाएगा। लेकिन आप देखने में सक्षम नहीं होंगे। मुझे नहीं पता कि क्वांटिन इसे साबित करने वाला कैसे है, लेकिन यह मेरा विचार है। ':)' –
मेरे पास कुछ उदाहरण है [यहां] (https://jsfiddle.net/ohad/2L46tego)। आप देख सकते हैं कि प्रदर्शन पर सेट की गई कोई भी घटना –
नहीं, यह उन्हें नहीं हटाता है, लेकिन चूंकि तत्व और उसके सभी वंशजों को प्रस्तुत नहीं किया जाता है, इसलिए उपयोगकर्ता के किसी भी घटना पर ट्रिगर करने का कोई तरीका नहीं है, इसलिए ब्राउज़र कभी परीक्षण नहीं करेगा यह देखने के लिए तत्व है कि इसमें कोई ईवेंट हैंडलर है या नहीं।
- 1. Google मानचित्र v3 में, स्मृति से मार्कर को स्वचालित रूप से किसी भी श्रोताओं को मार देता है?
- 2. अस्थायी रूप से NSLayoutConstraint को हटा दें?
- 3. क्या jQuery ने ईवेंट श्रोताओं को नष्ट डीओएम सामग्री से हटा दिया है?
- 4. जांचें कि ईवेंट में कोई श्रोताओं है या नहीं?
- 5. अपाचे स्पार्क अस्थायी निर्देशिकाओं को हटा नहीं देता
- 6. क्या ArrayList.clear() सभी निहित objecs को भी हटा देता है?
- 7. किसी भी जावास्क्रिप्ट ईवेंट श्रोताओं/हैंडलर तत्व/दस्तावेज़ से जुड़े हुए हैं या नहीं?
- 8. क्या ऑब्जेक्ट से अज्ञात ईवेंट श्रोताओं को हटाने का कोई तरीका है?
- 9. प्रदर्शन ईवेंट से सभी ईवेंट श्रोताओं को कैसे हटाएं?
- 10. क्या मुख्य विधि किसी भी वर्ग से संबंधित है?
- 11. क्या कोई भी सुनवाई नहीं होने पर भी जावास्क्रिप्ट ईवेंट हमेशा निष्पादित होते हैं?
- 12. symfony2 मेरे ईवेंट श्रोताओं को क्यों नहीं बुला रहा है?
- 13. backbone.js: कॉलिंग संग्रह .reset() मॉडलों को भी हटा देता है?
- 14. WinForms: अस्थायी रूप से एक ईवेंट हैंडलर को अक्षम करें
- 15. एक्शन स्क्रिप्ट: ऑब्जेक्ट को शून्य पर सेट करना, स्वचालित रूप से सभी संलग्न ईवेंट श्रोताओं को हटा दें?
- 16. क्या मुझे तत्वों को हटाने से पहले ईवेंट श्रोताओं को हटाने की आवश्यकता है?
- 17. SQL सर्वर: ईवेंट किसी भी तालिका (ट्यूनिंग सलाहकार चेतावनी) का संदर्भ नहीं देता है
- 18. CKFetchRecordsOperation कभी भी कोई चाबियाँ नहीं देता
- 19. डाटाग्रिड: क्या कोई सॉर्टेड ईवेंट नहीं है?
- 20. क्या मैं किसी भी तरह अस्थायी रूप से WPF डेटा बाध्यकारी परिवर्तन अक्षम कर सकता हूं?
- 21. क्या जावास्क्रिप्ट इवेंट श्रोताओं को उस तत्व को हटाने से पहले हटा दिया जाना चाहिए?
- 22. Symfony2 ईवेंट ग्राहक श्रोताओं को कॉल नहीं करता
- 23. अस्थायी रूप से लिनक्स को
- 24. डब्ल्यूसीएफ कोई भी अपवाद नहीं देता
- 25. बीसीपी कोई त्रुटि नहीं देता है, लेकिन किसी भी पंक्तियों की प्रतिलिपि नहीं करता है
- 26. ग्रुप बाय डुप्लिकेट को हटा नहीं देता
- 27. अगर मैंने रिटर्न फ़ंक्शन नहीं रखा है तो मैं सेसो में किसी ऑब्जेक्ट से श्रोताओं को कैसे हटा सकता हूं?
- 28. पांडा कोई भी महत्व देता
- 29. क्या कोई ऐसा ऐप है जो अप्रयुक्त वर्गों को ढांचे से हटा देता है?
- 30. कोई भी कुकीस्पेक चुनना अनुरोध में सभी कुकीज़ को हटा देता है
यह ईवेंट श्रोताओं को नहीं हटाता है, लेकिन जब उपयोगकर्ता छुपाया जाता है तो उपयोगकर्ता घटनाओं का आह्वान नहीं कर सकता है, हालांकि आप अभी भी कोड –
से ईवेंट को ट्रिगर कर सकते हैं जिस प्रकार आप जिन घटनाओं के बारे में बात कर रहे हैं, उस पर निर्भर करता है। –
मेरे अपने कोड के संदर्भ में, वे मुख्य रूप से क्लिक या माउसओवर ईवेंट होते हैं। – sookie