के लिए jQuery एपीआई डॉक्स साइट सेready
निम्नलिखित तीनों वाक्यविन्यास समतुल्य हैं:
- $ (Document) .ready (हैंडलर)
- $ () तैयार है (हैंडलर) (यह अनुशंसित नहीं है)
- $ (हैंडलर)
होमवर्क करने के बाद - सोर्स कोड के साथ पढ़ना और खेलना , मुझे पता नहीं क्यों
$().ready(handler)
अनुशंसित नहीं है। पहले और तीसरे तरीके, बिल्कुल समान हैं, तीसरा विकल्प तैयार फ़ंक्शन को कैश्ड jQuery ऑब्जेक्ट के साथ कहता है document
:
rootjQuery = jQuery(document);
...
...
// HANDLE: $(function)
// Shortcut for document ready
} else if ( jQuery.isFunction( selector ) ) {
return rootjQuery.ready( selector );
}
लेकिन तैयार फ़ंक्शन का चयनित नोड तत्वों के चयनकर्ता के साथ कोई बातचीत नहीं है, ready
स्रोत कोड:
ready: function( fn ) {
// Attach the listeners
jQuery.bindReady();
// Add the callback
readyList.add( fn );
return this;
},
जैसा कि आप देख सकते हैं, यह कॉलबैक को एक आंतरिक कतार ( readyList
) में जोड़ता है और सेट में तत्वों को परिवर्तित या उपयोग नहीं करता है। इससे आप ready
हर jQuery ऑब्जेक्ट पर फ़ंक्शन को कॉल कर सकते हैं ।
पसंद:
- नियमित चयनकर्ता:
$('a').ready(handler)
DEMO - बकवास चयनकर्ता:
$('fdhjhjkdafdsjkjriohfjdnfj').ready(handler)
DEMO - अनिर्धारित चयनकर्ता:
$().ready(handler)
DEMO
अंत में ... मेरे प्रश्न के लिए: क्यों $().ready(handler)
अनुशंसित नहीं है?