【发布时间】:2013-11-11 18:29:21
【问题描述】:
我有一个“一天结束的大脑放屁”,无法让这段简单的代码工作。我想做的就是在我正在使用的另一个脚本中重用一个函数。
例如,在 javascript A 中我有:
function rollLink(){
//code that does something amazing
};
rollLink();
在另一个 JS 文件(我们称之为 B)中,我试图在简单的 AJAX 调用中重用 rollLink 函数:
$.ajax({
url: bla,
data: bla,
success:function(data) {
$('#hero').append( data );
rollLink();
}
});
但我收到一条错误消息,提示 rollLink() 未定义。请问有人可以指出我的错误吗?
编辑:
抱歉,信息不足。我会详细说明:
- 脚本 A 是我的主要 JS 文件。它在我的 WP 主题的每一页上运行,并通过
functions.php文件排队。 - 脚本 B 位于我正在构建的 WP 插件中。
这是输出的页脚示例:
<script type='text/javascript' src='http://localhost/wordpress/wp-content/themes/mytheme/javascripts/script_a.js'></script>
<script type='text/javascript' src='http://localhost/wordpress/wp-content/plugins/myplugin/script_b.js'></script>
</body>
</html>
【问题讨论】:
-
信息不足。还请向我们展示您加载这两个脚本的方式。
-
这取决于脚本的加载顺序和代码的执行方式。
-
rollLink是全球性的吗?此外,如果 Ajax 调用 真的 很快,则可能不是页面上的所有脚本都已加载。 -
我想我找到了问题所在。当我将脚本排入队列时,我忘记将插件设置在页面底部(因此位于脚本 A 下方)。
-
我现在遇到的问题是,当我将脚本(上面引用为 B)排入队列以出现在页面底部时,它们仍然被称为 before 我的主脚本(以上引用为 A)。嗯,我想我需要进一步阅读如何为 WP 插件排队脚本
标签: javascript jquery function wordpress