jQuery:从不同文档调用函数

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (53)

我在“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>

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

是否需要为函数声明某种公共属性,或者如何使jQuery函数在HTML中与外部对话?

提问于
用户回答回答于

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

$(document).ready(function()

因此,sayHello仅限于该功能。如果你希望sayHello从应用程序的其他任何位置调用,例如你的页面上的HTML或custom.js中的另一行,则需要更改custom.js,并在调用外部将其定义为$(document).ready

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

$(document).ready(function()
{
   sayHello();
}
用户回答回答于

只需将函数设置为全局变量即可。

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

扫码关注云+社区

领取腾讯云代金券