您好我在jQuery的document.ready函数中包含了一些自定义函数。大多数这些函数都是在该函数和函数中使用的,但有一种情况我想从全局范围访问其中包含的函数。我怎样才能做到这一点?我可以这样做: jQueryReadyScope.myFunctionName( 'PARAMATERS');
非常感谢。
答案 0 :(得分:2)
不,但您可以为该功能命名并将其传递给.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');
答案 1 :(得分:1)
这是一个范围问题,您需要做的就是指定命名空间。在这种情况下,你说的是全局,所以我们将使用窗口。
window.myFunction = function() { ... stuff }
答案 2 :(得分:1)
要从全局范围访问它,需要将其分配给全局变量,方法是将其声明放在文档之外,或者将其指定为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();
});