Jquery:从不同的文档中调用函数

时间:2010-04-17 01:33:18

标签: jquery function external

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

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

$(document).ready(function()
{
   function sayHello() {
      alert("hello");
   }
}

这是在HTML文档中:

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

...函数没有被调用。但是,如果两者都放在HTML文档中,则该函数可以正常工作。

我需要为函数声明某种公共属性,或者如何在HTML中使用Jquery函数与外部.js文件进行通信?它们被正确包含在内,否则就可以正常工作。

感谢。

2 个答案:

答案 0 :(得分:29)

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

$(document).ready(function()

因此,sayHello的范围仅限于该功能。如果您希望从应用程序中的任何其他位置调用sayHello,例如页面上的HTML或custom.js中的其他行,则需要更改custom.js并在调用{{1 }}:

$(document).ready

答案 1 :(得分:7)

只需将函数设为全局变量

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