अगर मैं jQuery जो window.open()
करता है के साथ एक क्लिक आरंभ किया है, यह पॉप अप ब्लॉकर द्वारा अवरुद्ध है अगर मैं क्लिक मैन्युअल विंडो बंद नहीं कर दिया जाए। ब्राउज़र दोनों के बीच कैसे भिन्न होता है?ब्राउजर उपयोगकर्ता क्लिक और प्रोग्रामेटिक क्लिक के बीच अंतर कैसे बताता है?
उत्तर
इस की फ़ायरफ़ॉक्स कार्यान्वयन this bug पर विस्तार से चर्चा की है, और this other bug सहित क्या लंबाई साइटों आदेश (असंदिग्ध उन पर एक अवांछित पॉप अप विंडो थोपना करने के लिए इस मामले में में के माध्यम से जाना होगा, कुछ और दिलचस्प पृष्ठभूमि है: से window.open()
बुला एक छवि के भीतर load
घटना)। यदि आप बगजिला के आसपास खोज करते हैं तो आप पाएंगे कि मोज़िला लोगों ने यह सब ठीक से काम करने के लिए कई सालों लगे, उदाहरण के लिए here's a bug from 2001।
जिस तरह से यह वर्तमान में काम करता है यह है: जब फ़ायरफ़ॉक्स समय window.open()
की एक निश्चित राशि जावास्क्रिप्ट (about:config
में dom.disable_open_click_delay
के लिए देखो) में सक्षम किया गया है के लिए, ऑपरेटिंग सिस्टम से क्लिक करें घटना प्राप्त करता है। यदि आप एक उपयोगकर्ता क्लिक तो पहला कदम होने वाली है, window.open()
के सक्षम किए बिना कोड से click()
घटना को कॉल करते हैं कभी नहीं होता है, हालांकि window.open()
करने के लिए कॉल ही सफल होगा to stop sites detecting that you have popup blocking enabled।
मुझे यकीन है कि कैसे अन्य ब्राउज़रों इस सामग्री को लागू लेकिन अगर यह बहुत अलग था यह मेरे लिए आश्चर्य की बात हो जाएगा नहीं कर रहा हूँ।
मुझे विश्वास है कि jQuery के माध्यम से click
बुला वास्तव में बहुत तत्व पर एक क्लिक ट्रिगर नहीं करता, लेकिन इसके बजाय समारोह क्लिक को सुनने के लिए कहता है। तो हालांकि आप click()
पर कॉल कर रहे हैं, आप वास्तव में केवल एक फ़ंक्शन को कॉल कर रहे हैं।
जब उपयोगकर्ता क्लिक करता है, यह एक वास्तविक क्लिक है।
उदाहरण:
var handler = function() {
alert('hi');
};
$('#example').on('click', handler);
$('#example').click(); // really just calls handler();
क्या यह मूल जावास्क्रिप्ट .click() के बारे में भी सच है? – nbrooks
ध्यान देने योग्य दिलचस्प बात: यदि आप उपयोगकर्ता के रूप में, क्लिक कोड निष्पादित किए जाने वाले कुछ भी करते हैं, तो यह अभी भी करता है। इसमें 'क्लिक' ईवेंट को कॉल करने वाले किसी चीज़ पर क्लिक करना शामिल है। या यहां तक कि एक महत्वपूर्ण प्रेस इवेंट भी इसे कॉल कर सकता है और यह काम करेगा। – sachleen
यह अनुमान करना मुश्किल है कि ब्राउजर इस चेक को कैसे लागू करता है क्योंकि उपयोगकर्ता को संकेत मिलने पर निर्देश देने के लिए विनिर्देशन में कुछ भी नहीं है। http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-2651361 – Fenton
ब्राउज़र की मूल कोड (ऑपरेटिंग सिस्टम से) वास्तविक माउस क्लिक घटना संभालती है और ब्राउज़र घटना वस्तु बनाता है। उस बिंदु पर ब्राउज़र के मूल कोड में, ब्राउज़र जानता है कि यह ईवेंट वास्तविक माउस क्लिक द्वारा बनाया गया था।
मेरा अनुमान है कि घटना से जुड़े कुछ छिपे हुए डेटा (जावास्क्रिप्ट से सुलभ नहीं) हैं जो ब्राउजर को यह ट्रैक रखने देता है कि वास्तविक माउस क्लिक के माध्यम से ईवेंट शुरू किया गया था या नहीं, हालांकि अन्य कार्यान्वयन तंत्र हो सकते हैं भी।
- 1. सेलेनियम - क्लिक और क्लिक के बीच अंतर क्या है?
- 2. क्लिक और ड्रैग/ड्रॉप ईवेंट के बीच अंतर कैसे करें?
- 3. 'माउसअप' और 'क्लिक' घटनाओं के बीच क्या अंतर है?
- 4. क्लिक और माउसक्लिक के बीच क्या अंतर है?
- 5. ट्रिगर ('क्लिक') के बीच क्या अंतर है और jQuery (
- 6. जावास्क्रिप्ट/jquery कैसे ट्रिगर और उपयोगकर्ता क्लिक के बीच अंतर करने के लिए?
- 7. विंडोज फोन आम - क्लिक और टैप के बीच अंतर
- 8. एंड्रॉइड ब्राउजर ग्रीन सीमा पर क्लिक करें
- 9. क्लिक
- 10. उपयोगकर्ता नियंत्रण क्लिक - विंडोज़ फॉर्म
- 11. क्लिक के
- 12. क्लिक
- 13. कस्टम क्लिक "कस्टम" कैसे बनाएं और उपयोगकर्ता क्लिक बटन तक जेएस निष्पादन रोकें?
- 14. चेकबॉक्स पर क्लिक करने और '.click()' फ़ंक्शन को कॉल करने के बीच क्या अंतर है?
- 15. नियंत्रण नियंत्रण के अंदर पाठ पर क्लिक करते समय उपयोगकर्ता नियंत्रण क्लिक नहीं कर रहा है?
- 16. प्रोग्रामेटिक बटन क्लिक 'सिस्टम.स्टैक ओवरफ्लो एक्सेप्शन' अपवाद
- 17. 'फोकस करने योग्य' और 'क्लिक करने योग्य'
- 18. अनबाइंड ('क्लिक') के बाद क्लिक ईवेंट को "रिबाइंड" कैसे करें?
- 19. क्लिक करें
- 20. कर्नेल स्टैक और उपयोगकर्ता स्टैक के बीच क्या अंतर है?
- 21. छवि, छवि बटन, और क्लिक करने योग्य छवि दृश्य के साथ बटन के बीच अंतर?
- 22. क्लिक
- 23. प्रोग्रामेटिक माउस एक और विंडो में क्लिक करें
- 24. एक बार क्लिक करें - सभी उपयोगकर्ता
- 25. कर्नेल धागे और उपयोगकर्ता धागे के बीच क्या अंतर है?
- 26. [myVar dealloc] और [myVar रिलीज] के बीच सबसे अच्छा अंतर क्या बताता है?
- 27. उपयोगकर्ता नियंत्रण बटन घटना पर क्लिक करें
- 28. एफ 5, CTRL + F5 के बीच अंतर और बटन क्लिक या रीफ्रेश करें?
- 29. वैश्विक कतार और उपयोगकर्ता कतारों के बीच क्या अंतर है?
- 30. कर्नेल और उपयोगकर्ता मोड प्रोग्रामिंग के बीच क्या अंतर है?
यहाँ एक [jsfiddle] (http://jsfiddle.net/twMSG/1/) प्रदर्शित करने के लिए है। यह पेज लोड पर पॉपअप करने की कोशिश करेगा लेकिन अवरुद्ध हो जाएगा। 'क्लिक' ईवेंट को कॉल करने से प्रोग्रामेटिक रूप से अवरुद्ध हो जाता है लेकिन यदि आप इसे किसी अन्य क्लिक ईवेंट के भीतर कॉल करते हैं तो यह हो जाता है। – sachleen