أربعة أشكال الاختلافات جاهزة () - ما هو الفرق؟
-
18-09-2019 - |
سؤال
لقد رأيت أربع طرق مختلفة لإخبار JQUERY لتنفيذ وظيفة عند جاهز المستند. هل هذه ما يعادلها؟
$(document).ready(function () {
alert('$(document).ready()');
});
$().ready(function () {
alert('$().ready()');
});
$(function () {
alert('$()');
});
jQuery(function ($) {
alert('jQuery()');
});
المحلول
ليس هناك فرق.
$
بالضبط مثل jQuery
. وبعد إذا قمت بعرض المصدر غير المستوعي، فسترى var $ = jQuery = ...
أو شيء لهذا التأثير.
ال jQuery
تعمل الدالة من نوع المعلمة، إذا كانت وظيفة، فإنها تعاملها كما $(document).ready(...)
دعا jQuery
بدون افتراضيات المعلمة لاستخدام document
. وبعد وبالتالي $()
و $(document)
متطابقة. جربه في Firebug.
نصائح أخرى
إعادة: تعليقات Geroge IV بخصوص $ () == $ (المستند) صحيح. من المصدر غير المستوعي (INIT هو ما يسمى داخليا):
init: function( selector, context ) {
// Make sure that a selection was provided
selector = selector || document;
أيضا من المصدر، لعمل نسخة احتياطية المحادثات السابقة:
// HANDLE: $(function)
// Shortcut for document ready
} else if ( jQuery.isFunction( selector ) )
return jQuery( document ).ready( selector );
هذا يجب أن يكون Wiki المجتمع. لقد كنت مهتما دائما بالأعمال الداخلية في JQuery، والآن كان لدي ذريعة لبدء البحث :-)
كما أنه يجب ذكرها, ، هذا الرمز الذي تقوم به إلى وظيفة سيتم استخدامه داخل الوظيفة. علي سبيل المثال:
$(function(jQuery) {
// now I can use jQuery instead $
jQuery("body").append("<div></div>"); // adds div to the end of body element
});
إذا كنت تريد استخدام $ - يمكنك ترك عمارة الوظيفة في هذه الوضع فارغ
المثال الحقيقي يمكنك أن تجد هنا http://jsfiddle.net/yura_syedin/bngd4/
هنا واحد آخر - يبدأ مثل هذا ...
(function (jQuery) {
ثم لإنهاء ...
})(jQuery);
مثال هنا:http://jsfiddle.net/c2qzw/23/