繁体   English   中英

从$(document).ready之外的函数调用到$(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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM