两个窗口的Javascript代码可用性.加载和文档.准备好了
Javascript code availability for both window.load and document.ready
我需要一个需要在文档上执行的函数。准备就绪,可用于窗口。Onload函数…
我该怎么做呢?
$(document).ready(function someFunction() {
execute something and pass the results to window.load
}
);
$(window).load(Need results of somefunction);
可以通过将函数调用的结果赋值给作用域中的某个变量来共享。
(function(){
var result;
$(document).ready(function(){
result = 'something';
});
$(window).load(function() {
console.log(result); //something
});
}());
因为你需要在dom ready上做一些事情,然后在window load上访问它,所以将window load绑定方法嵌套在dom ready方法中。
$(document).ready(function () {
// do something
var somevar = "Hello World!";
$(window).on("load", function () {
console.log(somevar); // Hello World!;
});
});
当将function()
参数传递给$(document).ready(fn)
之类的东西时,您实际上创建了一个未命名的函数,一个匿名函数。因此,如果您想为$(document).ready
和$(window).load
获得相同的结果,您可以创建一个命名函数(这是如果您想共享函数本身):
function someFunction() {
/* execute some code */
}
$(document).ready(someFunction);
$(window).load(someFunction);
既然我知道我首先误解了你的问题,让我来解决它。
在两个函数的作用域中都有一个变量将允许它们都使用它。所以,既然在全局命名空间中有一个变量,这不是一个好的做法,那么我们应该使用一个未命名的函数来包装你的两个函数:
(function(){
var accessible_var;
$(document).ready( function() {
accessible_var = "passed to load handler";
} );
$(window).load( function() {
console.log(accessible_var);
} );
})();
你必须小心这两个处理程序!
document.ready
将在所有元素就位时触发,它们可以在JS代码中被引用,但内容不一定被加载。
window.load
,然而,将等待页面完全加载,这包括内部框架,图像等。警告 -如果你想使用一个图像的高度,宽度属性,例如,然后文档。准备好了!!
相关文章:
- CSS根据属性的可用性有条件地应用样式
- 下拉菜单的可用性
- 框架的可用性问题是什么
- 用于跟踪购物车可用性的Javascript数组/对象/哈希表
- 几个URL连续可用性的可视化
- 通过Jquery检查用户名可用性
- 检查Firefox中IndexedDB的真实可用性
- jQuery增加了菜单导航的延迟,可用性
- 如何使用 JavaScript 检查资源的可用性
- 在Codeigniter中使用Ajax和jQuery检查用户名的可用性
- 函数内变量的范围和可用性
- 如何在不牺牲可用性的情况下修改 DOM 中的大量元素
- 使用 AJAX 和 JSP 错误检查用户名可用性
- Dojo 使用 domConstruct 将声明性代码添加到现有手风琴中
- 淘汰基实体属性可用性令人困惑
- 未捕获的引用错误: 未定义检查可用性
- 如何检测前进按钮的可用性
- PHP CodeIgniter 框架中的 JavaScript 可用性验证
- 如何检查window.showModalDialog的可用性
- 两个窗口的Javascript代码可用性.加载和文档.准备好了