jQuery中$(document).ready()的特殊写法

看书时注意到下面两条语句的功效是相同的,

$(function(){alert("hello!");});
$(document).ready(function(){alert("hello!");});

这个特殊写法就是用$()代替$(document).ready(),类似于(有差异)window.onload弹出个窗口:

查看jQuery1.8.3源代码,是这样封装的:

(function( window, undefined ) {
    /*...jQuery源代码全部都在这里了...*/
})( window );

下列语句把封装在内部的jQuery先赋给window.$,紧接着再赋给window.jQuery。这意味着在实际使用时window.$和window.jQuery是一回事。因为$这个符号只有1个字母,比jQuery短,所以更常用一些,但要注意到$非jQuery所独有,节约字母的代价是增加了命名冲突的风险。

// Expose jQuery to the global object
window.jQuery = window.$ = jQuery;

下面是jQuery的初始化语句(注意到此时函数并未执行):

// Define a local copy of jQuery
jQuery = function( selector, context ) {
    // The jQuery object is actually just the init constructor 'enhanced'
    return new jQuery.fn.init( selector, context, rootjQuery );
}

找到jQuery.fn的定义,这是一个对象,其中有一个叫init的函数元素:

jQuery.fn = jQuery.prototype = {
    constructor: jQuery,
    init: function( selector, context, rootjQuery ) {
        var match, elem, ret, doc;     

        // Handle $(""), $(null), $(undefined), $(false)
        if ( !selector ) {
            return this;
        }     

        // Handle $(DOMElement)
        if ( selector.nodeType ) {
            this.context = this[0] = selector;
            this.length = 1;
            return this;
        }
/*...以下省略...*/

继续下去,init中有一段逻辑:

// HANDLE: $(function)
// Shortcut for document ready
} else if ( jQuery.isFunction( selector ) ) {
    return rootjQuery.ready( selector );
}

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索jquery
, 特殊最简写法
, function
, jquery' is undefined
, selector
, window
, document
, jQuery的一些注意
, ready
, document.ready
, $(document).ready
, ready冲突
, ready(fn)
$(document).ready()
jquery ready 写法、document .ready、js document.ready、jq document.ready、document ready不执行,以便于您获取更多的相关知识。

时间: 2024-09-16 07:21:18

jQuery中$(document).ready()的特殊写法的相关文章

Jquery中$(document).ready()和window.onload的区别

最基本的区别 1.执行时间 window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行. $(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕. 2.编写个数不同 window.onload不能同时编写多个,如果有多个window.onload方法,只会执行一个 $(document).ready()可以同时编写多个,并且都可以得到执行 3.简化写法 window.onload没有简化写法 $(document).ready(function()

比Jquery的document.ready更快的方法_jquery

这个是上次在博客园看到的一篇文章,经测试,确实比jquery的$(document).ready(function(){....})更快,并且在ie和火狐等主流浏览器上都没问题, 忘了原创是谁了,如果主人看到可以联系我, 我会立刻加上原文出处的,敬请见谅. 复制代码 代码如下: var jb51 =new function() { dom = []; dom.isReady = false; dom.isFunction = function(obj) { return Object.proto

jquery中$(document).ready()和onload用法区别详解介绍

页面加载完成有两种事件,一是ready,表示文档结构已经加载完成(不包含图片等非文字媒体文件),二是onload,指示页 面包含图片等文件在内的所有元素都加载完成.(可以说:ready 在onload 前加载!!!) 一般样式控制的,比如图片大小控制放在onload 里面加载; jS事件触发的方法,可以在ready 里面加载; 用jQ的人很多人都是这么开始写脚本的: 通常的写法  代码如下 复制代码 $(function(){ // do something }); 其实这个就是jq ready

jQuery之$(document).ready()使用介绍_jquery

学习jQuery的第一件事是:如果你想要一个事件运行在你的页面上,你必须在$(document).ready()里调用这个事件.所有包括在$(document).ready()里面的元素或事件都将会在DOM完成加载之后立即加载,并且在页面内容加载之前. If you want an event to work on your page, you should call it inside the $(document).ready() function. Everything inside it

jquery的$(document).ready()中定义变量的范围问题

问题描述 <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Hello World</title><script type="text/javascript" src="../scripts/jquery-1.4.4.js"></

jquery的$(document).ready()和onload的加载顺序_javascript技巧

最近在改一个嵌入在frame中的页面的时候,使用了jquery做效果,而页面本身也绑定了onload事件.改完后,Firefox下测试正常流畅,IE下就要等个十几秒jquery的效果才出现,黄花菜都凉了. 起初以为是和本身onload加载的方法冲突.网上普遍的说法是$(document).ready()是在页面DOM解析完成后执行,而onload事件是在所有资源都准备完成之后才执行,也就是说$(document).ready()是要在onload之前执行的,尤其当页面图片较大较多的时候,这个时间

jquery中document ready 与事件监听绑定和解绑

1.document ready 先看代码: $(function(){  alert('你好'); }); 传入的参数是一个函数,我们需要做的是,需要在文档准备完毕之后去执行它.现在有2种情况: 1.文档还没有准备完毕,这些事件怎么办 2.文档已经准备完毕,这些事件怎么办 解决办法是,预先定义一个闭包内的全局变量来收集这些事件,然后在文档准备完毕之后去执行它.而如果文档已经准备完毕之后,传入的事件就直接执行即可. (function() {     // 预先定义事件队列容器     var

jquery中的$(document).ready()使用方法介绍

 本篇文章主要是对jquery中的$(document).ready()使用方法进行了详细的总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助 window.onload = function(){ alert("welcome"); } 这样的写法作用是希望在页面加载完,自动执行定义js代码(function).   $(document).ready(function(){.... })这个函数是用来取代页面中的window.onload;   document.ready()

jquery $(document).ready() 与window.onload的区别

Jquery中$(document).ready()的作用类似于传统JavaScript中的window.onload方法,不过与window.onload方法还是有区别的. 1.执行时间          window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行.          $(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕.  2.编写个数不同           window.onload不能同时编写多个,如果有多个window