2010-05-18 15 views
8

तो, मैं इस कोड को मिल गया है के लिए बंद करने के लिए "स्वत: पूर्ण" मोड़:jQuery - सभी रूपों (यहां तक ​​कि लोगों को अभी तक लोड नहीं)

$(document).ready(function(){ 
    $('form').attr('autocomplete', 'off'); 
}); 

यह पहले से ही विद्यमान सभी रूपों के लिए महान काम करता है। समस्या यह है कि, मेरे कुछ रूप अजाक्स के माध्यम से पॉप अप में लोड होते हैं। यह उन पर लागू नहीं होगा क्योंकि वे बाद में "लोड" हैं।

मुझे पता है कि एक लाइव() फ़ंक्शन है - लेकिन यह केवल ईवेंट को जोड़ने के लिए है। इसे पर सभी रूपों पर लागू करने का एक अच्छा तरीका क्या है?

धन्यवाद।

उत्तर

27

आप फोकस ईवेंट में लाइव ईवेंट बांध सकते हैं और फिर उस पर विशेषता बदल सकते हैं।

$(document).ready(function(){ 
    $(':input').live('focus',function(){ 
     $(this).attr('autocomplete', 'off'); 
    }); 
}); 

jQuery के रूप में 1.7 jQuery.live बहिष्कृत किया गया था। इस कोड को अब देखो की तरह होगा:

$(document).ready(function(){ 
    $(document).on('focus', ':input', function(){ 
     $(this).attr('autocomplete', 'off'); 
    }); 
}); 
+0

लाइव() फ़ंक्शन अब पदावनत है http://api.jquery.com/live/ अब आप पर इस्तेमाल करना चाहिए http: // एपीआई। jquery.com/on/ –

+0

@AndyBrudtkuhl को 3 साल के पुराने उत्तर को वोट करने का कोई कारण नहीं है क्योंकि यह बहुत पुराना है। मैंने उत्तर को अद्यतित करने के लिए उत्तर अपडेट किया है। – PetersenDidIt

+0

मैंने डाउनवॉट किया क्योंकि यह काम नहीं करता - वह डाउनवोट का मुद्दा नहीं है? मैंने एक टिप्पणी छोड़ दी कि एक अद्यतन उत्तर के साथ क्यों। मुझे उचित ढेर शिष्टाचार की तरह लगता है। मैंने अब अपना डाउनवोट हटा दिया है कि यह स्पष्ट है कि मूल उत्तर बहिष्कृत किया गया था। अद्यतन करने के लिए धन्यवाद। –

3

लाइव इवेंट बजाय अब घटना पर हटाई गई है, आपको चाहिए हमें। यह डीओएम में हर इनपुट से जुड़ा होगा इससे कोई फर्क नहीं पड़ता कि यह अभी तक बनाया गया है या नहीं। फिर वह उस इनपुट में स्वत: पूर्ण = "बंद" विशेषता जोड़ देगा।

$(document).ready(function() { 
    $(document).on('focus', ':input', function() { 
    $(this).attr('autocomplete', 'off'); 
    }); 
}); 
1

उपयोग jQuery पर्याप्त नहीं है सकता है, क्योंकि क्रोम की तरह कुछ ब्राउज़रों 'स्वत: पूर्ण' को लोड कर सकता है डेटा सहेजा दस्तावेज़ से पहले तैयार है ($ (document) .ready)

jQuery इस

तरह काम करता है
$('input, :input').attr('autocomplete', 'off'); 

लेकिन अपने इनपुट टैग करने के लिए मैन्युअल रूप से स्वत: पूर्ण = 'off' को जोड़ने और अधिक कुशल हो सकता है

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