要對現場工作日期選擇器,我必須把這個劇本我的元素
$(function() {
$("#date_datepicker").datepicker({ dateFormat: "yy-mm-dd" });
});
卸下$(function() {
使得日期選擇器不工作裏面。
那麼這是否意味着$(function() {
與$(document).ready
相同?
我想優化我的JavaScript代碼,所以知道這可能會有所幫助。
要對現場工作日期選擇器,我必須把這個劇本我的元素
$(function() {
$("#date_datepicker").datepicker({ dateFormat: "yy-mm-dd" });
});
卸下$(function() {
使得日期選擇器不工作裏面。
那麼這是否意味着$(function() {
與$(document).ready
相同?
我想優化我的JavaScript代碼,所以知道這可能會有所幫助。
查看來自http://api.jquery.com/ready/
所有三種以下語法下面的提取物是等效的:
$(document).ready(handler)
$().ready(handler)
(這是不推薦)$(handler)
謝謝,我在谷歌搜索,但我認爲有一些像$這樣的特殊字符很難得到正確的結果。 – MegaNairda
是的,它是同一件事的簡寫版本。當函數作爲參數傳遞時,$
函數調用$(document).ready
函數。
如果您嘗試在速度方面進行優化 - 兩者的表現都會相當,但如果執行很多次,則較長的$(document).ready(handler)
速度會稍微快一些。
如果您嘗試根據文件大小進行優化 - 請使用縮小器。
國際海事組織最好你可以做的就是在可讀性和簡單性方面進行「優化」。這使代碼更容易理解和維護。有一些工具可以爲您提供未經優化的版本並進行壓縮和優化(查看Google的閉包編譯器)。
我的代碼包含我在頁面頂部提到的兩個。這是一件好事,但我沒有遇到麻煩,他們都在我的頁面頂部。我會嘗試使用縮小器,就像我手動優化我的代碼之後所說的那樣,減少了冗餘代碼,例如這些和其他類似的調用,可以將它們合併爲一個函數調用 – MegaNairda
我希望我不會遇到兼容性問題使用_shorthand_時出現問題,比如使用ajax速記'$ .post'時出現什麼情況? – MegaNairda
是的,$(function() {
和$(document).ready
是相同的。
$(function() {
作爲簡寫語法,但$(document).ready
使代碼更具可讀性。
謝謝,我還希望'$(document).ready'而不是'$(function(){'。 – MegaNairda
的。就緒()方法通常使用匿名函數:
$(document).ready(function() {
// Handler for .ready() called.
});
這等效於調用:
$(function() {
// Handler for .ready() called.
});
是否使用jQuerymobile?如果是這樣,而不是使用文件準備使用
$('#pageId').live('pageinit',function(){});
不是真的,只是普通的jQuery。 – MegaNairda
請注意,您還可以找到這樣的腳本:
jQuery(document).ready(function(){
這裏的$ -sign由jQuery的更換,以避免與其他庫的
衝突這裏是一個很安全的運行準備
編碼方式jQuery(function($, undefined){
// code to run onready
});
儘管我個人更喜歡做這樣的:
(function($){ // create scope and pass specific aliased variables
$(function($, undefined){ // attach callback to run onready
// code to run onready
});
})(jQuery);
這種方式可以使自己的功能包,而不必擔心破壞其他人的代碼,或者讓你的代碼由鬆散的變量定義打破。例如,您也可以調用您傳遞的變量以及您想要的任何名稱,並擁有未準備就緒的代碼。
(function($){ // create scope and pass specific aliased variables
$(document).on('click', 'a[href]', function(){
// code to run when a link is clicked
});
$(window).on('load',function(){
// code to run onload
});
$(function($, undefined){ // attach callback to run onready
// code to run onready
});
})(jQuery);
注意,這些都是一樣的
$(document).bind('ready', function(){});
$(document).on('ready', function(){});
$(document).ready(function(){});
$(function(){});
而且該文件沒有加載事件
$(document).on('load', function(){}); // will not work
[jQuery的文件準備就緒功能(HTTP的
可能重複://計算器.com/questions/5754192/jquery-document-ready-function) – jtheletter