嗨我有几个自定义函数包装在jQuery的document.ready函数中。大多数这些功能都是在该功能和工作中使用的,但有一种情况是我想从全局范围访问此功能中包含的功能。我怎样才能做到这一点?我可以做些什么: jQueryReadyScope.myFunctionName('paramaters');使用javascript访问隐藏函数
非常感谢。
嗨我有几个自定义函数包装在jQuery的document.ready函数中。大多数这些功能都是在该功能和工作中使用的,但有一种情况是我想从全局范围访问此功能中包含的功能。我怎样才能做到这一点?我可以做些什么: jQueryReadyScope.myFunctionName('paramaters');使用javascript访问隐藏函数
非常感谢。
没有,但是你可以命名的功能和它传递给.ready()
:
var myFunctionName = function (params) {
// do things
}
// pass as callback to ready function
jQuery(document).ready(myFunctionName);
// access directly like any other function:
myFunctionName('paramaters');
这是一个范围问题,您只需指定名称空间即可。在这种情况下,你说的是全球性的,所以我们将使用窗口。
window.myFunction = function() { ... stuff }
要从全局范围内它需要被分配到一个全局变量访问它,要么通过声明它在您的文档之外准备好或者将其指定为window
的属性:
var yourGlobalFunction1 = function() { ... }
$(document).ready(function() {
function privateFunction() { ... }
window.yourGlobalFunction2 = function() { ... };
yourGlobalFunction1();
privateFunction();
yourGlobalFunction2();
});
yourGlobalFunction1();
// and then at some later point AFTER the document ready has run,
// e.g., in response to some event:
$("#someelement").click(function() {
yourGlobalFunction2();
});
首要的是:您为什么要访问它?我不相信你需要从外面访问它 – Onkelborg 2012-07-11 22:53:23