热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

$(document).bind('ready',function)和$(document).ready(function(){})之间有什么区别

如何解决《$(document).bind('ready',function)和$(document).ready(function(){})之间有什么区别》经验,为你挑选了1个好方法。

我想从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(){})不起作用



1> blgt..:

正如文档所说,不同之处在于

还有$(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 )

这是在文档中提到的,所以我猜你是最有可能的问题来源


推荐阅读
author-avatar
Eliza
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有