[英]Calling a function inside document.ready from outside document.ready
[英]Function calls from outside of $(document).ready to the function defined in the $(document).ready
我想在移动设备方向更改时使用$(window).resize调用某些函数,我将所有代码都写在$(document).ready中,当我使用Android设备时此方法有效,但是在使用第一个方向后使用iPhone检测到它甚至没有再次调用$(window).resize。 当我将(window).resize函数放在$(document).ready之外时,它也可以在iPhone上使用。
在$(window).resize函数的内部,我必须调用$(document).ready块中定义的方法,那么该怎么做呢?
由于需要使用来自两个不同事件处理程序的内容,因此应将其移出事件处理程序。 您无法在任何一个事件处理程序中创建方法,因为您不知道是先触发ready
还是resize
。
例如,您可以创建一个保存方法的对象:
var commonMethods = {
data: 42,
someMethod: function() { alert(this.data); }
};
$(document).ready(function(){
commonMethods.someMethod();
});
$(window).resize(function(){
commonMethods.someMethod();
});
在$(document).ready()
块之外定义方法。
然后仅在整个代码中根据需要调用它们。 这样,您可以从$(document).ready()
和$(window).resize()
块访问它们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.