Jquery:从不同文档调用函数

Jquery:从不同文档调用函数,jquery,function,external,Jquery,Function,External,我在“custom.js”文件中保存了一些Jquery函数。在某些页面上,我需要将PHP变量传递给Jquery,因此一些Jquery位需要保留在HTML文档中。然而,由于我现在正试图将事情重构到最低限度,我被以下几点绊倒了: 如果我把它放在custom.js中: $(document).ready(function() { function sayHello() { alert("hello"); } } 在HTML文档中: <script type="text/

我在“custom.js”文件中保存了一些Jquery函数。在某些页面上,我需要将PHP变量传递给Jquery,因此一些Jquery位需要保留在HTML文档中。然而,由于我现在正试图将事情重构到最低限度,我被以下几点绊倒了:

如果我把它放在custom.js中:

$(document).ready(function()
{
   function sayHello() {
      alert("hello");
   }
}
在HTML文档中:

<script type="text/javascript">
   $(document).ready(function()
   {
      sayHello();
   });
</script>

$(文档).ready(函数()
{
你好;
});
。。。该函数未被调用。但是,如果两者都放在HTML文档中,则该函数可以正常工作

是否需要为函数声明某种公共属性,或者如何让HTML中的Jquery函数与外部的.js文件通信?它们被正确地包括在内,否则工作正常


谢谢。

问题是您在这一行声明的匿名函数中定义了
sayHello

$(document).ready(function()
因此,
sayHello
的作用域仅限于该函数。如果您希望从应用程序中的任何其他位置调用
sayHello
,例如页面上的HTML或custom.js中的另一行,则需要更改custom.js并在调用
$(文档)之外定义它。准备好了吗

function sayHello()
{
   alert("hello");
}

$(document).ready(function()
{
   sayHello();
}

只需将函数设为全局变量

sayHello=function() {
    alert("hello");
}

谢谢——当然,这很有道理。将接受您的答案,需要等待时间限制。将jquery容器设置为var是否也有效?比如
sayHello=$(document).ready(function(){…