1

这是场景:

我正在 wordpress 管理员中创建一个页面。我创建了一个名为 Contact Us 的页面,在编辑器或 WYSIWYG 中我制作了一个表单和一个按钮。我想使用 $.post 提交表单。

编辑器内部:

<form>
    <input type="text" name="txt"/>
    <input type="button" id="btn" value="Save"/>
</form>

在 page.php 中,我包含了以下代码:

$(document).ready(function(){
    $('#btn').click(function(){
        alert('save');
    });
});

但是萤火虫控制台中有一个错误说: ReferenceError: jQuery is not defined

这有什么问题?或者这甚至可能吗?

4

1 回答 1

1

这个错误:

ReferenceError:未定义 jQuery

表示未定义 jQuery 命名空间,这是因为您忘记包含 jQuery 库,客户端浏览器在指定地址中找不到它,或者客户端浏览器与 jQuery 不兼容(该错误显示在 IE 5.5即使地址正确)。

此外,如果您使用 WP 的嵌入式 jQuery 库,则不能使用$在全局范围内引用 jQuery,因为 WP 会自动将其设置为noConflict 模式。取自文档

注意:WordPress 附带的 jQuery 库以“无冲突”模式加载。这是为了防止与 WordPress 可以加载的其他 javascript 库的兼容性问题。

您可以为别名创建一个闭包,$如下所示jQuery

jQuery(document).ready(function($) {
    // $() will work as an alias for jQuery() inside of this function
});

要使用嵌入式库,您还应该使用wp_enque_script.

查看此帖子以获取更多详细信息。

显然,您也可以从 Google CDN 中包含它,wp_enque_script并通过直接添加/回显脚本标签来跳过所有这些和关闭指南,这是我个人会做的,但我没有这么说!:)

于 2012-07-29T02:24:51.837 回答