Javascript jQuery.on()在WordPress管理面板中不起作用

Javascript jQuery.on()在WordPress管理面板中不起作用,javascript,jquery,wordpress,Javascript,Jquery,Wordpress,我正在编写我自己的WordPress(4.1.4)插件,它在管理面板中使用一些JavaScript代码 第一个问题是$对象未定义,因此我使用jQuery 现在,我想使用jQuery处理单击按钮的问题: jQuery(function(){ jQuery(".my-button").on("click", function(){ alert("OK"); }); }); 不幸的是,此简单代码不起作用,但如果我尝试使用此代码: jQuery(function(){

我正在编写我自己的WordPress(4.1.4)插件,它在管理面板中使用一些JavaScript代码

第一个问题是
$
对象未定义,因此我使用
jQuery

现在,我想使用jQuery处理单击
按钮的问题:

jQuery(function(){
    jQuery(".my-button").on("click", function(){
        alert("OK");
    });
});
不幸的是,此简单代码不起作用,但如果我尝试使用此代码:

jQuery(function(){
    jQuery(".my-button").click(function(){
        alert("OK");
    });
});
它很好用

起初,我认为jQuery版本太旧了,但当我检查它时,我得到了
1.11.1


所以我不明白为什么
jQuery.on()
在我的例子中不起作用。

通过运行
,然后将
$in\u footer
参数设置为true,确保代码在文档末尾运行。然后
上的
功能应按预期工作。我已经在WP版本4.2.1中进行了测试,但它应该仍然可以在您的4.1.4环境中工作。此代码还允许您使用
$

(function($){
    $(".my-button").on("click", function(e){
        e.preventDefault();
        alert("OK");
    });
}(jQuery));

通过运行
,然后将
$in\u footer
参数设置为true,确保代码在文档末尾运行。然后
上的
功能应按预期工作。我已经在WP版本4.2.1中进行了测试,但它应该仍然可以在您的4.1.4环境中工作。此代码还允许您使用
$

(function($){
    $(".my-button").on("click", function(e){
        e.preventDefault();
        alert("OK");
    });
}(jQuery));

可能有多个jQuery插件被引用。您是否在
jQuery(document.ready(function(){…})
中包含此代码,以确保在
时执行此代码。我的按钮
已可用于绑定到您的事件?是的,我确实包含此代码),但我使用了
jQuery(function(){})相反。我猜你有一个旧版本的jQuery。。。此警报的作用是什么:
警报(“您正在运行jQuery版本:“+jQuery.fn.jQuery”)毫无意义。在所有其他条件相同的情况下,
.on('click')
在功能上与
.click()
相同。如果您的jQuery版本不支持
.on()
的问题,那么控制台中会出现
未定义的
错误。可能有多个jQuery插件被引用。您是否在
jQuery(document.ready(function(){…})
中包含此代码,确保在
.my按钮
已可用于绑定到您的事件时执行它(是的,我执行了),但我使用了
jQuery(function(){})相反。我猜你有一个旧版本的jQuery。。。此警报的作用是什么:
警报(“您正在运行jQuery版本:“+jQuery.fn.jQuery”)毫无意义。在所有其他条件相同的情况下,
.on('click')
在功能上与
.click()
相同。如果您的jQuery版本不支持
.on()
的问题,那么控制台中会出现类似
未定义的
错误。wp\u enque\u脚本的详细信息:非常感谢您,colecm!
wp\u enqueue\u脚本
方法帮助了我!)是的,绝对要使用这个答案中描述的技巧。然而,这仍然没有任何意义。只需将
.click()
替换为
.on('click')
应该完全没有区别。。。除非您使用的是太旧的jQuery版本。在这种情况下,你应该看到一个控制台错误。我同意你的看法,斯派克。但有趣的是,为什么
.on(“单击”…)
不起作用,而
.click()
却能如期发挥作用。wp\u enque\u脚本的详细信息:非常感谢您,Colecm!
wp\u enqueue\u脚本
方法帮助了我!)是的,绝对要使用这个答案中描述的技巧。然而,这仍然没有任何意义。只需将
.click()
替换为
.on('click')
应该完全没有区别。。。除非您使用的是太旧的jQuery版本。在这种情况下,你应该看到一个控制台错误。我同意你的看法,斯派克。但有趣的是,为什么
.on(“单击”…)
不起作用,而
.click()
却能正常工作。