2011-03-01 12 views
10

के अंदर काम नहीं करता है, मैंने फॉर्म पर पहले इनपुट फ़ील्ड के लिए focus का उपयोग करने का प्रयास किया। लेकिन यह काम नहीं करता है। जब मैं उस इनपुट के लिए attr("id") पर कॉल करता हूं तो यह काम करता है। जब मैं एक ही इनपुट के लिए फोकस करता हूं, तो मुझे कोई परिणाम नहीं दिखाई देता। मैंने मूल जावास्क्रिप्ट का उपयोग करने की भी कोशिश की। क्या किसी को पता है कि कैसे ठीक करें?फोकस() रंगबॉक्स पॉप-अप

उत्तर

1

उपयोग

$(document).ready(function() { 
     // focus on the first text input field in the first field on the page 
     $("input[type='text']:first", document.forms[0]).focus(); 
    }); 
+0

अंदर फोकस निष्क्रिय करने के लिए भी उपयोग कर सकते हैं '(": पाठ: पहले ")। फोकस(); ' – diEcho

+0

धन्यवाद लेकिन यह केवल लॉगिन फॉर्म पर काम करता है। क्या आपके पास कोई विचार है कि यह अन्य रूपों ("इनपुट [आईडी = uname]") पर काम क्यों नहीं करता है। वैल ("1300"); \t \t $ ("इनपुट [आईडी = uname]")। फोकस(); मुझे मूल्य = 1300 –

+0

के साथ फ़ोकस नाम का उपयोग किया गया है ... – diEcho

5

आप सभी सवाल गलत समझ रहे हैं। जब कलरबॉक्स खुलता है तो आप इनपुट फ़ील्ड पर ध्यान केंद्रित नहीं कर सकते हैं?

... जब तक कि आप कोलोबॉक्स पर कॉम्प्लेटी कुंजी पर अपना ध्यान नहीं देते हैं उदा।

$('#mydiv a').colorbox({ onComplete:function(){ $('form input:first').focus(); }}); 

तुम भी एक घटना हुक करने के लिए ध्यान केंद्रित करने के लिए बाध्य कर सकते हैं:

$('#mydiv a').bind('cbox_complete', function(){ 
     $('form input:first').focus(); 
}); 

पर्याप्त होना चाहिए कि आरंभ करने के लिए।

+1

धन्यवाद, यह वास्तव में सहायक था - और वास्तव में प्रश्न के एक प्रमुख पहलू का उत्तर दिया। – penfold

+0

क्या आप कृपया इस कोड को कहां रखना है? –

0

मैंने अभी इस समस्या पर ठोकर खाई है।

मुझे लगता है कि यह एक एकल $ .colorbox सलामी बल्लेबाज इस तरह है करने के लिए सबसे अच्छा है:

function showActionForColorBox(
     _url, 
     _forFocus 
    ) { 
    $.colorbox(
     { 
      scrolling: false, 
      href: _url, 
      onComplete: function() { 
       idColorboxAjaxIndect1.appendTo($('#cboxOverlay')); 
       idColorboxAjaxIndect2.appendTo($('#cboxOverlay')); 
       idColorboxAjaxIndect3.appendTo($('#cboxOverlay')); 
       idColorboxAjaxIndect4.appendTo($('#cboxOverlay')); 

       // --> Possible element's ID for focus 
       if (_forFocus) { 
        $('#' + _forFocus).focus(); 
       } 
       return; 
      }, 
      onCleanup: function() { 
       // TODO: ? 
       return; 
      }, 
      onClosed: function() { 
       if (shouldReloadPageAfterColorBoxAction) { 
        // --> Should we reload whole page? 
        shouldReloadPageAfterColorBoxAction = false; // NOTE: To be sure: Reset. 
        window.location.reload(false); 
       } 
       else if (cbEBillsActionReloadPopup) { 
        // --> Should we reload colorbox 
        cbEBillsActionReloadPopup = false; 
        showActionForColorBox(_url); 
       } 
       else if (cbShouldLoadAnotherContentAfterClosed) { 
        // --> Should we reload colorbox with custom content? 
        cbShouldLoadAnotherContentAfterClosed = false; 
        $.colorbox({ html: setupContentForcbShouldLoadAnotherContentAfterClosed }); 
        setupContentForcbShouldLoadAnotherContentAfterClosed = ''; 
       } 
       return; 
      } 
     } 
     ); 

    return; 
} 
1

यह हो रहा हो सकता है कि जब आपके colorbox खोला है अपना ध्यान केंद्रित के शरीर यानी उच्चतम तत्व पर चला जाता है पृष्ठ। दस्तावेज़ का उपयोग करें। सक्रियता यह पता लगाने के लिए कि किस तत्व पर ध्यान केंद्रित किया गया है। तब iframe या अपने colorbox की आईडी और ध्यान तो सेट यह

0

पर तुम भी उपयोग कर सकते हैं

$.colorbox({ 

..., 
trapFocus: false 
}); 

colorbox

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