函数从$(document).ready外部调用在$(document).ready中定义的函数

Function calls from outside of $(document).ready to the function defined in the $(document).ready

本文关键字:函数 ready document 定义 外部调用      更新时间:2023-09-26

当移动设备方向发生变化时,我想使用$(window).resize来调用一些函数,我将所有代码都写在$(文档)中。准备好了,当我使用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()块访问它们。