我将一些Jquery函数保存在一个"custom.js“文件中。在某些页面上,我需要将PHP变量传递给Jquery,因此需要在HTML文档中保留一些Jquery位。然而,当我现在试图将事情重构到最低限度时,我遇到了以下问题:
如果我把这个放到我的custom.js里:
$(document).ready(function()
{
function sayHello() {
alert("hello");
}
}
这是HTML文档中的内容:
<script type="text/javascript">
$(document).ready(function()
{
sayHello();
});
</script>
..。函数不会被调用。但是,如果这两个都放在HTML文档中,该函数就可以正常工作。
我是否需要为函数声明某种公共属性,或者如何让Jquery函数与外部.js文件对话?它们被正确地包含在内,并且在其他方面工作得很好。
谢谢。
发布于 2010-04-17 09:37:09
问题是您在下面这行声明的匿名函数中定义了sayHello
:
$(document).ready(function()
因此,sayHello
的作用域仅限于该函数。如果您希望从应用程序中的任何其他位置调用sayHello
,例如页面上的超文本标记语言或custom.js中的其他行,则需要更改custom.js并在调用$(document).ready
的外部定义它
function sayHello()
{
alert("hello");
}
$(document).ready(function()
{
sayHello();
}
发布于 2012-11-15 21:27:32
只需将函数设置为全局变量
sayHello=function() {
alert("hello");
}
https://stackoverflow.com/questions/2656869
复制相似问题