2012-02-15 16 views
11

मैं jQuery UI मोडल संवाद का उपयोग कर रहा हूं, और इसे कुछ फॉर्म फ़ील्ड के साथ पॉप्युलेट कर रहा हूं। इस बग के कारण: http://bugs.jqueryui.com/ticket/4731, पहला इनपुट लाभ तब खुलता है जब संवाद खुलता है। इसके आस-पास पहुंचने के लिए, जब संवाद खोला जाता है तो मैं प्रभावित इनपुट को धुंधला करने की कोशिश कर रहा हूं।फोकसआउट() और ट्रिगर। ('फोकसआउट') इनपुट को फोकस करने के लिए इनपुट नहीं कर रहा है

समस्या यह है कि .blur() पर इस इनपुट के लिए अन्य कार्यक्षमता कहा जाता है, और मैं इस कार्यक्षमता को आग लगाना चाहता हूं।

तो, मैं उसी प्रभाव को प्राप्त करने के लिए .focusout() और .trigger('focusout') का उपयोग करने का प्रयास कर रहा हूं, लेकिन बिना किसी परिणाम के।

इनमें से किसी कर:

$('#input-id').focusout(); 
$('#input-id').trigger('focusout'); 

वास्तव में इनपुट फ़ोकस है, जहां का उपयोग कर .blur() सफल हुआ खोने के लिए कारण नहीं है। क्या मुझे कुछ याद आ रहा है, या क्या मुझे पूरा करने का एक और तरीका है?

+1

आप $ ('# inp) का उपयोग क्यों नहीं करेंगे ut-id ')। अपने मामले में ट्रिगर (' धुंधला ')? क्योंकि यह काम करता है और शायद यह करने का सबसे आसान तरीका होगा .. –

+1

$ ('# इनपुट-आईडी')। ट्रिगर ('धुंधला'); एक कामकाजी समाधान है। –

उत्तर

3

मेरा सुझाव संवाद में किसी अन्य तत्व पर ध्यान केंद्रित करना होगा जब इसे धुंधला करने के लिए टेक्स्टबॉक्स सेट करने के बजाय खोला जाएगा। यह आपकी समस्या से उबरना चाहिए।

उम्मीद है कि यह मदद करता है !!

+4

क्या होगा यदि केवल एक तत्व है? – rakslice

4

फोकसआउट तत्व को फोकस खोने का कारण नहीं बनाता है। इसके बजाय फोकसआउट ट्रिगर होता है जब कोई तत्व फोकस खो देता है।

$('body').focus(); 
4

की जाँच करें मैं एक समाधान के रूप में इस्तेमाल किया सेलेनियम ड्राइवर:

field.send_keys :tab 
13

आप कल्पना तो एक त्वरित जावास्क्रिप्ट हैक आप इस्तेमाल कर सकते हैं:

$(':focus').blur();

+0

कोई भी जादू की व्याख्या करें। :/ –

+1

'फोकस' चयनकर्ता उस तत्व को पाता है जो वर्तमान में केंद्रित है और फिर धुंध तत्व से फोकस लेता है, इस प्रकार 'फोकसआउट' फ़ंक्शन को कॉल करता है –

0

मैं में जावास्क्रिप्ट को निष्पादित करने की जरूरत के बिना इस का इस्तेमाल किया http://api.jquery.com/focusout/

संबंधित मुद्दे