是以下简写$(document).ready吗?(function($){//some code})(jQuery);我看到这种模式使用了很多东西,但是我找不到任何引用。如果它是的简写$(document).ready(),是否有任何特定原因可能不起作用?在我的测试中,它似乎总是在ready事件之前触发。
3 回答
慕婉清6462132
TA贡献1804条经验 获得超2个赞
的简写$(document).ready(handler)是$(handler)(handler函数在哪里)。
您问题中的代码与无关.ready()。相反,它是一个以jQuery对象作为参数的立即调用的函数表达式(IIFE)。其目的是将$变量的范围至少限制在其自己的块中,以免引起冲突。您通常会看到jQuery插件用于确保的模式$ == jQuery。
慕沐林林
TA贡献2016条经验 获得超9个赞
正确的速记是这样的:
$(function() {
// this behaves as if within document.ready
});
您发布的代码…
(function($){
//some code
})(jQuery);
…创建一个匿名函数并jQuery作为arg传入,立即执行它$。它实际上所做的就是将函数内的代码带入并像平常一样执行它,因为$它已经是的别名jQuery。:D
添加回答
举报
0/150
提交
取消