如何正确地将javascript与jQuery依赖项排队

如何正确地将javascript与jQuery依赖项排队,javascript,jquery,wordpress,Javascript,Jquery,Wordpress,我有一个名为br tagging.js的简单javascript文件,我正试图在Wordpress中排队。它所做的只是在一个提醒“Hello World!”的按钮上添加一个onclick函数。js文件位于子主题的根目录中。按钮的javascript文件和相应的HTML如下所示: HTML <button type="button" id="br-button"> Test Button </button> 我在子主题的functions.php文件中创建了以下函

我有一个名为
br tagging.js
的简单javascript文件,我正试图在Wordpress中排队。它所做的只是在一个提醒“Hello World!”的按钮上添加一个onclick函数。js文件位于子主题的根目录中。按钮的javascript文件和相应的HTML如下所示:

HTML

<button type="button" id="br-button">
    Test Button
</button>
我在子主题的
functions.php
文件中创建了以下函数:

functions.php

add_action('wp_enqueue_scripts', 'br_enqueue');
function br_enqueue() {
    wp_enqueue_script('br-script', get_stylesheet_directory_uri() . '/br-tagging.js', array('jQuery'));
}
add_action('wp_enqueue_scripts', 'br_enqueue');
function br_enqueue() {
    wp_enqueue_script('br-script', get_stylesheet_directory_uri() . '/br-tagging.js', array('jquery'), '', false);
}
javascript文件似乎没有被排到Wordpress中。我在页眉的任何地方都找不到该文件。当我点击按钮时,它不工作

奇怪的是,如果我去掉
wp\u enqueue\u脚本中的jQuery依赖项,就像这样:

add_action('wp_enqueue_scripts', 'br_enqueue');
function br_enqueue() {
    wp_enqueue_script('br-script', get_stylesheet_directory_uri() . '/br-tagging.js');
}
然后,我返回了一个异常,声明未定义
$
(如果JQuery未作为依赖项包含,您会想到这一点)。但是当我把它放回去的时候,没有错误,只是按钮不起作用,并且在标题中找不到脚本


知道发生了什么吗?我觉得我一定错过了一些非常简单的事情。我对Wordpress不是很有经验,所以我很难理解这一点。多谢各位

wp\u enqueue\u脚本
函数的dependencies参数中,
jQuery
需要全部小写
jQuery
之后,我自己找到了答案。事实证明,WP提供的jQuery没有冲突,导致了这个问题。修复方法是将jQuery代码包装在
(函数($){//code here})(jQuery)中以使其工作

为了清楚起见。。。最终的代码如下所示:

functions.php

add_action('wp_enqueue_scripts', 'br_enqueue');
function br_enqueue() {
    wp_enqueue_script('br-script', get_stylesheet_directory_uri() . '/br-tagging.js', array('jQuery'));
}
add_action('wp_enqueue_scripts', 'br_enqueue');
function br_enqueue() {
    wp_enqueue_script('br-script', get_stylesheet_directory_uri() . '/br-tagging.js', array('jquery'), '', false);
}
JS-br tagging.JS

$(window).load(function() {
    $("#br-button").click(function() {
        alert("Hello World");
    });
});
(function($) {
    $(document).ready(function() {
        $("#br-button").click(function() {
            alert("Hello World");
        });
    });
}(jQuery));

做了这些之后,一切都很好

jquery需要小写:
wp_enqueue_script('br-script',get_stylesheet_directory_uri()。/br tagging.js',array('jquery')。另外,尝试将
in_footer
参数设置为true<代码>wp_enqueue_script('br-script',get_stylesheet_directory_uri()。/br tagging.js',数组('jquery'),'',true)
我现在在文档中看到了这一点,但这只是带来了
$is not defined
问题
在解决了
jquery
的大小写敏感问题后,我自己发现了这个问题。谢谢你的帮助!