使用javascript访问隐藏的功能

时间:2012-07-11 22:50:22

标签: javascript jquery dom

您好我在jQuery的document.ready函数中包含了一些自定义函数。大多数这些函数都是在该函数和函数中使用的,但有一种情况我想从全局范围访问其中包含的函数。我怎样才能做到这一点?我可以这样做:       jQueryReadyScope.myFunctionName( 'PARAMATERS');

非常感谢。

3 个答案:

答案 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();
});