我正在开发一个Wordpress插件和一个我必须使用jquery的插件。在我的插件文件(称之为"my_p.php")中,我以这种方式注册了我的.js文件(my_js.js):
add_action('admin_enqueue_scripts', 'my_script');
function my_script() {
wp_register_script( 'my_jquery', plugins_url( '/js/my_js.js', __FILE__ ), array( 'jquery' ), '1.0.0', false );
wp_enqueue_script( 'my_jquery' );
}
my_js.js中的代码为:
jQuery(document).ready(function($){
jQuery(document.body).on('click','#button_my_p', function(e){
alert('hello!');
});
});
我的问题如下:如果'button_my_p
'是*my_p.php*文件中的一个元素(在我的情况下是一个按钮),它运行良好,并且当我单击按钮时会看到警报。但是,如果"button_my_p
"是另一个.php文件的元素(例如我的插件文件夹中的"other.php"),jquery代码就不起作用。。我没有看到警报。。
我缺少什么???
我的插件的结构是:
- js文件夹,我将my_js.js放在其中
- my_p.php文件
- other.php文件
谢谢你的帮助!
jQuery不在乎您有一个文件还是一千个文件。它只需在DOM(可能由一个.php文件创建,也可能由包含的一千个文件创建)中搜索匹配的元素。
我对调试此问题的建议是:首先,要检查other.php
生成的页面上是否存在my_js.js
,如果不存在,则您使用wp_enqueue_script
的错误