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

Tom*_*Tom 16 jquery external function

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

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

$(document).ready(function()
{
   function sayHello() {
      alert("hello");
   }
}
Run Code Online (Sandbox Code Playgroud)

这在HTML文档中:

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

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

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

谢谢.

wsa*_*lle 29

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

$(document).ready(function()
Run Code Online (Sandbox Code Playgroud)

因此,sayHello范围仅限于该功能.如果您希望sayHello从应用程序中的任何其他位置(例如页面上的HTML或custom.js中的其他行)进行调用,则需要更改custom.js并在调用之外定义它$(document).ready:

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

$(document).ready(function()
{
   sayHello();
}
Run Code Online (Sandbox Code Playgroud)


use*_*789 7

只需使函数成为全局变量

sayHello=function() {
    alert("hello");
}
Run Code Online (Sandbox Code Playgroud)