2011-04-21 10 views
7

यह यहां मेरी पहली पोस्ट है - को नमस्कारGoogle क्रोम रेडियो बटन पर धुंधला घटना नहीं चलाता है?

मैं वर्तमान में सीएसएस और jQuery के समर्थन के साथ एक एचटीएमएल प्रपत्र के विकास कर रहा हूँ। इस फॉर्म का उपयोग 'अनुभवहीन उपयोगकर्ताओं' द्वारा किया जाएगा, इसलिए मेरा ध्यान अच्छी उपयोगिता पर आधारित है। इसके लिए मैं आगे के निर्देशों के साथ हर इनपुट क्षेत्र में एक संकेत प्रदान कर रहा हूं। संकेत दिखाने के लिए मैं ऑनफोकस/ऑनब्लर जावास्क्रिप्ट इवेंट का उपयोग कर रहा हूं, इसलिए एक समय में केवल एक संकेत दिखाया गया है। यह अच्छी तरह से काम करता था जब मेरे पास केवल type="text" के इनपुट फ़ील्ड थे, लेकिन type="radio" के इनपुट फ़ील्ड के साथ मुझे Google क्रोम में परेशानी का सामना करना पड़ रहा है।

मैंने jsfiddle.net पर त्वरित उदाहरण बनाया ताकि आप देख सकें कि मेरा क्या मतलब है। कोड मेरे कोड में उपयोग किए जाने वाले कोड के समान ही है, इसलिए मैंने इसे यहां पोस्ट करने के लिए परेशान नहीं किया। Google क्रोम को छोड़कर अब तक परीक्षण किए गए प्रत्येक ब्राउज़र में अलर्ट पॉप अप करता है। मुझे आश्चर्य है क्योंकि? क्या इसमें कोई ज्ञात समाधान या कामकाज है?

+0

चेतावनी क्रोम 10.0.0.648.205 Win64 में मेरे लिए काम करता है। मैं रेडियो बटन का चयन करता हूं और उसके बाद टैब को दूर करता हूं, जिससे फोकस खो जाता है। अगर मैं ध्यान केंद्रित करता हूं तो विंडो बंद कर देता हूं, तो ऑनब्लूर इवेंट आग लगती है और मुझे अलर्ट दिखाई देता है। –

+0

मेरे लिए भी काम करता है – Andre

+0

मेरे लिए काम नहीं कर रहा है; क्रोम 10.0.648.205 Win7 – dooburt

उत्तर

3

Working sample:

$('input').on({ 
    click: function (e) { 
     this.focus(); 
     $('#' + this.id + 'msg').show(); 
    }, 
    blur: function (e) { 
     $('#' + this.id + 'msg').hide(); 
    } 
}); 
+0

हां, ऐसा लगता है कि मैन्युअल रूप से रेडियो बटन पर ध्यान केंद्रित किया जाता है (जब क्लिक किया जाता है) चाल करता है। मेरा कामकाजी संस्करण: http://jsfiddle.net/54y69/11/ – mwallisch

+0

@canon क्षमा करें, आप सही हैं। मेरी टिप्पणी हटा दी –

2

blur क्रोम के कुछ संस्करणों पर काम करेगा (लेकिन मेरा 10.0.648.205 नहीं), लेकिन केवल तभी जब आप तत्वों के पूरे संग्रह से दूर चले जाते हैं। सुनिश्चित नहीं है कि यह सहायक है, लेकिन यह काम करेगा:

$('input:radio').click(function() { 
    alert('why does this not show up in google chrome?!'); 
}); 

एचटीएच।

+0

क्षमा करें लेकिन 'onBlur'' रेडियो' बटन तत्वों के लिए एक जावास्क्रिप्ट ईवेंट है। इस पृष्ठ को सेट करें ------- http://www.javascriptkit.com/jsref/radio.shtml –

+2

'ऑनब्लूर' से क्या? यदि रेडियो बटन संग्रह का हिस्सा है, तो क्या यह संग्रह धुंधला या नियंत्रण है? अस्पष्टता है और शायद यह क्रोम में क्यों काम नहीं करता है? 'धुंध' संग्रह = काम करता है, 'धुंध' तत्व नहीं करता है। – dooburt

4

quirksmode से:

जब उपयोगकर्ता चेक बॉक्स, रेडियो या बटन का उपयोग करने की माउस का उपयोग करता है सफारी और क्रोम फोकस/कलंक घटनाओं आग नहीं है। टेक्स्ट फ़ील्ड, टेक्स्टरेरा और चयन बॉक्स सही तरीके से काम करते हैं।

इस here के आसपास काम करने के लिए कुछ सुझाव दिए गए हैं।

+0

जैसा कि मैंने आपके द्वारा संदर्भित प्रश्न में कहा है: मुझे एक ही समस्या का सामना करना पड़ा, टेक्स्ट इनपुट और रेडियो इनपुट में "फोकस" कार्यक्रम था, लेकिन रेडियो ने इस घटना को वेबकिट में नहीं निकाल दिया, इसलिए इन्हें "परिवर्तन" घटना पर रखा गया। अब मेरे पास दो घटनाएं हैं, टेक्स्ट इनपुट के लिए "फोकस" और रेडियो के लिए "चेंज", दोनों एक ही कॉलबैक को कॉल करते हैं। –