首页
学习
活动
专区
圈层
工具
发布

jQuery就绪函数别名

jQuery的"就绪函数"(即DOM加载完成后执行的函数)主要有以下三种常用别名形式,它们功能相同但写法不同:

  1. 标准写法:$(document).ready(function(){...})
  2. 简化别名:$(function(){...})
  3. 美元符号别名:jQuery(function($){...})

基础概念: 这些函数都确保代码在DOM完全加载后执行(不等待图片等资源加载),比window.onload更高效。它们形成了jQuery的事件处理基础。

优势对比:

  • 执行时机:比window.onload更快触发
  • 多次调用:可重复使用(而window.onload会覆盖)
  • 兼容性:解决各浏览器DOM准备事件差异

典型应用场景:

代码语言:txt
复制
// 最常见的简化写法
$(function(){
    // DOM操作代码
    $('#button').click(function(){...});
});

// 需要避免$冲突时的写法
jQuery(function($){
    // 这里仍可使用$符号
    $('.menu').hide();
});

// 明确表示文档准备的写法
$(document).ready(function(){
    console.log("DOM fully loaded");
});

常见问题及解决方案:

  1. 冲突问题: 现象:与其他库的$符号冲突 解决:
代码语言:txt
复制
jQuery.noConflict(); // 释放$控制权
jQuery(function($){ 
    // 回调内仍可使用$
});
  1. 执行顺序问题: 现象:多个ready函数不按预期顺序执行 建议:合并到一个ready处理程序,或用$.holdReady()
  2. 异步加载问题: 现象:在动态加载jQuery后ready失效 解决:改用事件监听:
代码语言:txt
复制
function init() { /* 初始化代码 */ }
if (window.jQuery) {
    jQuery(init);
} else {
    window.addEventListener('jquery-loaded', init);
}

技术原理: 这些别名最终都调用jQuery.ready.promise(),内部通过检测document.readyState实现,标准浏览器使用DOMContentLoaded事件,旧版IE通过doScroll检测。

性能建议:

  • 避免在ready函数中加载大资源
  • 需要等待所有资源时改用$(window).on("load")
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的文章

领券