如何用文档引用函数

How to reference functions with document ready?

本文关键字:函数 引用 文档 何用      更新时间:2023-09-26

我在JQuery文档准备方法中有一些函数,我想从其他外部文件引用,但我一直得到一个未定义的函数。我如何使它们全局化?

external file 1
    $(function ()
    {
         function DoSomething()
         {    
            Do something
         }    
    });

external file 2
    $(function ()
    {
        Call DoSomething()
    )};

声明jQuery范围外的函数

external file 1

         function DoSomething()
         {    
            Do something
         }    

external file 2
    $(function ()
    {
        Call DoSomething()
    )};

您可以在.ready()之外定义函数(正如其他答案所建议的那样),或者您可以利用window对象全局作用域的事实。因此,你可以像这样将它们设置为全局:

$(function(){
    function doSomething(){
        // …;
    }
    window.doSomething = doSomething;
});

注意,在这种情况下,它们将只在 .ready()运行后定义 -如果你想立即在另一个文件中使用它们(即不在事件处理程序或另一个.ready()函数中),这将不起作用。

您可能想要在就绪块之外定义函数。这没什么坏处。只有在就绪块之外执行函数,如果在就绪块之前使用了DOM,才会导致问题。

定义(还)不做任何事情,因此不使用DOM。所以它不需要在现成的块中;这样做只会限制您可以访问它的位置,这基本上只是一个缺点。

external file 1
function DoSomething()
     {    
        Do something
     }   

只要可能,就在ready检查之外声明函数。

外部文件1

function DoSomething()
{    
    Do something
}    

外部文件2

$(function ()
{
    Call DoSomething()
)};