jQuery 的窗口加载包装器
Window load wrapper for jQuery
jQuery(document).ready(function($){});
是保护 $ 不致错误的已知且很好的方法。
我很好奇的是jQuery(window).load(function($){});
是否会以同样的方式工作?
基本上,我现在拥有的是:
jQuery(document).ready(function($){
$(window).load(function(){
// ...
});
});
这对我来说似乎没有必要,有什么关于简化它的想法吗?我需要将jQuery正确映射到$(或任何正确的术语(的安全性,但与window.load()
的时间相同
我更喜欢这个...
(function($){
$(window).load(function(){
//everything is loaded (images, scripts, etc.)
});
// and/or
$(document).ready(function(){
// the dom is in place, but everything is not necessarily loaded
});
})(jQuery);
注意:仅当在此脚本之前包含 jQuery 时,这才有效。我从未遇到过以这种方式未定义jQuery的任何问题。此外,你永远不会遇到 $ 未定义的问题,因为你正在将它传递到你的匿名函数中。
你可以这样做:
(function($) {
$(window).load(function(){
// ...
});
})(jQuery);
匿名函数将立即执行,而不是像问题中的代码那样等待 DOM 准备就绪。在函数中$
将引用jQuery
因此不会与匿名函数外部定义的任何其他$
冲突。
您可以创建本地参数:
(function($) {
$(...)
})(jQuery);
此代码使用名为 $
的参数执行匿名函数,将jQuery
作为参数值传递。
相关文章:
- 如何使用url加载程序在webpack中导入多个图像
- 如何在生成下载文件时显示加载动画
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- 无法在通过jQuery的ajax加载的页面中执行javascript
- Emberjs应用程序加载在除Index之外的所有路由上
- 在chrome.tabs.onCreated之后加载HTML页面
- 单击F5时如何停止页面加载
- HTML5音频加载和播放获胜'我不能在iPad上工作
- 跟踪在页面加载时应用内联样式的JavaScript
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- jQuery Lazy加载动画滚动
- Html页面上的多个Base64图像和平滑加载
- 如何创建带有插槽的vue js组件预加载程序
- Webpack/Rect:遵循egghead.io教程,但出现错误:您可能需要一个合适的加载程序来处理此文件类型
- 如何使该数据在所有元素中加载
- Cordova包装应用程序内部链接加载在应用程序中,外部链接加载在浏览器中
- jQuery dataTables对包装宽度的更改只有在加载chrome's检查员
- jQuery 的窗口加载包装器
- 如果以异步方式加载绑定的资源,则函数中的$watch/$timeout包装会中断双向绑定
- AngularJS -将第三方异步加载库包装为服务