2012-02-22 14 views
28

संभव डुप्लिकेट:
What is the difference between these jQuery ready functions?
jquery: Choosing a document.ready methodमतभेद

क्या इस

$(function() { 
    $("a").click(function(event){ 
     alert("Thanks for visiting!"); 
    }); 
}); 

कर के बीच अंतर है और इस

$(document).ready(function(){ 
    $("a").click(function(event){ 
     alert("Thanks for visiting!"); 
    }); 
}); 
+0

पूर्व कम शब्दों वाले जब आप मुहावरा, अधिक पठनीय आदत हो और,। अन्यथा उनके समान प्रभाव पड़ता है। – tvanfosson

उत्तर

39

वे वही हैं। JQuery .ready() docs देखें।

निम्नलिखित वाक्यविन्यास तीनों रहे बराबर:: यहाँ डॉक्स से एक उद्धरण है।

$ (document) .ready (हैंडलर)

$() तैयार (हैंडलर) (इस अनुशंसित नहीं है)

$ (हैंडलर)

+12

लॉल। मुझे आश्चर्यचकित नहीं करता है। सही उत्तर के लिए नीचे मतदान और दस्तावेज़ों से उद्धरण :) –

9

आप के बीच कार्यक्षमता में कोई अंतर नहीं है आर उदाहरण - वे दोनों डोम तैयार हैं।

संदर्भ के लिए, दो बिंदु हैं जिन पर आप अपना jQuery कोड बांध सकते हैं।

पहले निष्पादित करेंगे DOM के तैयार होने (दोनों बराबर हैं): जब पेज सभी छवियों को लोड करने से

$(document).ready(function() { 
    // code 
}); 
$(function() { 
    // code 
}); 

दूसरा निष्पादित करेंगे, स्टाइलशीट आदि

$(window).on("load", function() { 
    // code 
}); 

दूसरा तब उपयोगी होता है जब आपको छवि के width() या height() प्राप्त करने की आवश्यकता होती है। ये गुण केवल तभी उपलब्ध होते हैं जब छवि क्लाइंट सिस्टम पर पूरी तरह से डाउनलोड हो जाती है।

यह भी ध्यान दें कि $(window).load(fn); अब बहिष्कृत है और अब इसका उपयोग नहीं किया जाना चाहिए।

+0

बेशक, बाध्यकारी के अलावा, यह याद रखना महत्वपूर्ण है कि प्रारंभिक कोड को कभी-कभी किसी भी घटना से बाध्य नहीं होना चाहिए। जैसे ही इसे पढ़ा जाता है, कुछ इसे [लेख] (http://encosia.com/dont-let-jquerys-document-ready-slow-you-down/) द्वारा चलाया जा सकता है [डेव वार्ड] (http: // encosia.com/about-dave-ward/)। – MarkDBlackwell

7

सभी निम्नलिखित वाक्यविन्यास के तीन बराबर हैं:

$(document).ready(handler) 
$().ready(handler) (this is not recommended) 
$(handler) 

http://api.jquery.com/ready/

+4

यदि वे समकक्ष हैं, तो क्यों कोई अनुशंसित नहीं है? – JorgeeFG

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