jQuery的"就绪函数"(即DOM加载完成后执行的函数)主要有以下三种常用别名形式,它们功能相同但写法不同:
$(document).ready(function(){...})
$(function(){...})
jQuery(function($){...})
基础概念: 这些函数都确保代码在DOM完全加载后执行(不等待图片等资源加载),比window.onload更高效。它们形成了jQuery的事件处理基础。
优势对比:
典型应用场景:
// 最常见的简化写法
$(function(){
// DOM操作代码
$('#button').click(function(){...});
});
// 需要避免$冲突时的写法
jQuery(function($){
// 这里仍可使用$符号
$('.menu').hide();
});
// 明确表示文档准备的写法
$(document).ready(function(){
console.log("DOM fully loaded");
});
常见问题及解决方案:
jQuery.noConflict(); // 释放$控制权
jQuery(function($){
// 回调内仍可使用$
});
function init() { /* 初始化代码 */ }
if (window.jQuery) {
jQuery(init);
} else {
window.addEventListener('jquery-loaded', init);
}
技术原理: 这些别名最终都调用jQuery.ready.promise(),内部通过检测document.readyState实现,标准浏览器使用DOMContentLoaded事件,旧版IE通过doScroll检测。
性能建议:
没有搜到相关的文章