में मुझे फोकस ईवेंट के साथ थोड़ा सा समस्या मिली है जिसे मैं अभी जानता हूं। जाहिर है, किसी अन्य ब्राउज़र टैब पर स्विच करते समय आग लगाना और फिर वापस दोबारा। मैं ऐसा नहीं करना चाहता था; क्या यह संभव है?ब्राउज़र टैब बदलना अनिवार्य रूप से फोकस ईवेंट को सक्रिय करता है, खासकर Google क्रोम
मुझे आज तक इस बारे में कभी पता नहीं था। यह एक छोटा सा प्रदर्शन है: http://jsfiddle.net/MJ6qb/1/
var times = 0;
$('input').on('focus', function() {
times ++;
$(this).after('<br>Focused '+times+' times');
});
पुन: पेश करने के लिए: इनपुट पर ध्यान दें, तो ब्राउज़र टैब स्विच, तो वापस स्विच। जब आप टैब पर वापस स्विच करते हैं, तो सभी ब्राउज़र फ़ोकस ईवेंट को आग लगते हैं, और Google क्रोम 1 इसे दो बार फायर कर रहा है!
आदर्श रूप में, समारोह जब सब पर लेकिन केवल उपयोगकर्ता क्लिक पर या टैब ब्राउज़र टैब स्विचिंग नहीं चलाना चाहिए, लेकिन अब है कि मैं क्रोम मुद्दा मैं थोड़ा अधिक है कि के बारे में चिंतित हूँ के बारे में पता कर रहा हूँ, क्योंकि यह जिसके परिणामस्वरूप है मेरे असली ऐप में अतिरिक्त अवांछित बैक-टू-बैक AJAX अनुरोधों में (यह एक स्वत: पूर्ण के लिए परिणाम लाने के लिए है जो अद्यतित होने की आवश्यकता है, लेकिन इतना नहीं कि मैं कीप ईवेंट का उपयोग करना चाहता हूं)।
यह jQuery से संबंधित प्रतीत नहीं होता है (मैंने वेनिला जावास्क्रिप्ट के साथ परीक्षण किया है) लेकिन मैं एक समाधान के लिए jQuery का उपयोग कर सकता हूं। क्या मैं इसके बारे में कुछ कर सकता हूं? मुझे पता है कि मैं jQuery के one()
का उपयोग कर सकता हूं लेकिन मैं चाहता हूं कि फ़ंक्शन एक से अधिक बार चलें।
थोड़ा असंबंधित प्रयास करें, लेकिन आप जब पता लगाने के लिए सक्षम हो सकता है ब्राउज़र टैब केंद्रित या धुंधला और ओवे है [इस] (http://stackoverflow.com/a/6184276/1028949) में डिफ़ॉल्ट व्यवहार को राइड करें। क्रोम डबल-फायर एक [ज्ञात बग] (http://code.google.com/p/chromium/issues/detail?id=124583) है, जो मैं बता सकता हूं। – Quantastical
आह इसके लिए धन्यवाद, यह नहीं पता था कि यह एक ज्ञात बग था, केवल यह सुनिश्चित करने के लिए कि यह एक एफएफ चीज नहीं है (जिसे मैं विकसित करता हूं) पोस्ट करने से पहले क्रोम में कोड का परीक्षण करते समय इसे पाया। मुझे छोड़ने और "इसे सवारी करने" जैसा लगता है लेकिन यह वास्तव में कष्टप्रद है। मैं देखूंगा कि क्या मैं उस उत्तर में कोड के साथ कुछ कर सकता हूं। –
आपके द्वारा अनुभव किए जा रहे व्यवहार की अपेक्षा की जाती है। जब आप टैब छोड़ते हैं, तो आप उस टेक्स्टबॉक्स पर फ़ोकस कर रहे हैं और जब आप वापस आते हैं तो आप इसे फिर से केंद्रित कर रहे हैं। एक और आवेदन छोड़ने के लिए भी यही है। दुर्भाग्य से, मैं ओवरराइड करने या इसके चारों ओर जाने का तरीका नहीं सोच सकता। – Quantastical