Gibt es einen Unterschied zwischen diesen beiden Aussagen?
$(document).ready(function() {
// Code
});
$(function() {
// Code
});
Gibt es einen Unterschied zwischen diesen beiden Aussagen?
$(document).ready(function() {
// Code
});
$(function() {
// Code
});
In der Auflösung gibt es keinen Unterschied, sie sind gleichwertig.
Aus dem entsprechenden Quellcode
jQuery = window.jQuery = window.$ = function( selector, context ) {
// The jQuery object is actually just the init constructor 'enhanced'
return new jQuery.fn.init( selector, context );
}
jQuery.fn = jQuery.prototype = {
init: function( selector, context ) {
/* .... irrelevant code.... */
// HANDLE: $(function)
// Shortcut for document ready
else if ( jQuery.isFunction( selector ) )
return jQuery( document ).ready( selector );
}
}
Ich denke, es ist wichtig, darauf hinzuweisen, dass die offizielle jQuery Linie ist, dass die zweite Syntax:
$(function() {
// code here
});
bevorzugt wird. Warum? Weil es die Möglichkeit bietet, dass Herr Resig & Co. einen brillanten neuen Weg finden, um die Initialisierung beim Laden durchzuführen, der viel besser ist als die Verwendung des Ereignisses "ready". Wenn sie das tun und Sie die einfachere (zweite) Methode verwenden, dann wird Ihr Code sofort von der Verbesserung profitieren, ohne dass Sie etwas ändern müssen. Wenn Sie die explizite Bindung an das "ready"-Ereignis verwenden, bleiben Sie bei diesem Ansatz, bis Sie ihn ändern.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.