好的,所以我已经在类似的问题上阅读了无数的尝试答案,但无论出于何种原因,他们都没有为我工作。我有一个WordPress网站,我试图制作一个需要jQuery的插件。
首先,我的wp-content / plugins / my-plugin / index.php页面:
<?php
add_action( 'wp_enqueue_scripts', 'wpb_adding_scripts' );
function wpb_adding_scripts() {
wp_enqueue_script('TestFile', plugins_url('/js/TestFile.js', __FILE__), array('jquery'),'1.1', false);
}
...
function printButton(){
echo '<input type ="button" id="myButton" name="myButton" value="My Button"/>';
}
我在代码中大约打了十几次printButton,并且我检查了HTML以确保它按照书面形式吐出。如果用户点击了十几个按钮中的任何一个,我想要运行相同的jQuery调用。我还确保jquery本身在WordPress的头文件中排队,所以它肯定知道jQuery存在。当我执行Inspect Element视图时,控制台在单击时不会出错。
然后是我的TestFile.js文件:
jQuery(function() {
jQuery('#myButton').click(function(e){
alert("Button Clicked!");
});
});
我知道我应该可以使用&#39; $&#39;而不是jQuery&#39;,但无论出于什么原因,WordPress都是愚蠢的。所以从我读过的所有内容来看,这是非常简单的东西,每当我点击任何一个按钮时,我都会得到一个非常小的警报弹出窗口。可悲的是,当我点击时没有任何反应......
想法?非常感谢你的帮助!
答案 0 :(得分:2)
不要将操作绑定到ID,将其绑定到类。
ID必须是元素唯一的。如果你有十几个按钮都有id='myButton'
,那么jQuery就不会正确绑定它们。
相反,绑定到类名称:
function printButton(){
echo '<input type ="button" class="aButton" name="myButton" value="My Button"/>';
}
然后jQuery会读
jQuery(function() {
jQuery('.myButton').click(function(e){
alert("Button Clicked!");
});
});
答案 1 :(得分:0)
为班级使用相同的名称。考虑&#34; myButton&#34;成为jQuery函数中的所需名称,更改&#34; function printButton&#34;中的类。到:
function printButton(){
echo '<input type ="button" class="myButton" name="myButton" value="My Button"/>';
}
答案 2 :(得分:-2)
jQuery(selector).on( ... );