Javascript jQuery.on()在WordPress管理面板中不起作用
我正在编写我自己的WordPress(4.1.4)插件,它在管理面板中使用一些JavaScript代码 第一个问题是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(){
$
对象未定义,因此我使用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()
却能正常工作。