![](/img/trans.png)
[英]What is the difference between $(document).ready(function() and $(function() ?
[英]What are the difference between $(document).bind('ready', function) and $(document).ready(function() {})
我想從requirejs版本2.0.0升級到2.1.5
這是代碼:
define(['jquery', 'test.js'],
function ($, test) {
var test = new $.test({
//options
});
....
});
test.js
(function($) {
var registerEvents = function() {
//dosth
};
$.test = function(options) {
$(document).bind('ready', function() {
registerEvents();
});
...
return test;
}
...
});
在版本2.0.0中,requirejs保存dom ready事件,直到所有資源都被下載,因此它可以正常工作https://github.com/jrburke/requirejs/issues/249
當我升級到requirejs版本2.1.5時,將永遠不會調用registerEvents函數。
但令人沮喪的是,如果我改變:
$(document).bind('ready', function() {
registerEvents();
});
至:
$(document).ready(function() {
registerEvents();
});
它工作正常
所以我的問題是:它們之間有什么區別?
編輯:我正在使用jQuery v1.7.2
$(document).on('ready',function(){})不起作用
正如文檔所說 ,不同之處在於
還有$(document).on(“ready”,handler),從jQuery 1.8開始不推薦使用。 這與ready方法的行為類似,但如果ready事件已經觸發並且您嘗試.on(“ready”) ,則不會執行綁定處理程序。 以這種方式綁定的就緒處理程序在被上述其他三種方法綁定后執行。 [我的]
.bind
和.on
表現相似。
這是唯一的區別
$( document ).ready( handler )
$().ready( handler ) // (this is not recommended)
$( handler )
和
$( document ).on( "ready", handler )
$( document ).bind( "ready", handler )
這是在文檔中提到的,所以我猜你是最有可能的問題來源
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.