我正在创建一个小部件,我需要在管理面板(和自定义程序)中为小部件表单排队一个脚本。我尝试了很多方法:
function cf_enqueue_admin_script() {
wp_enqueue_script('admin_custom_script', get_template_directory_uri() . '/js/admin.js', array('jquery', 'wp-color-picker'), false, true);
}
add_action('admin_enqueue_scripts', 'cfstcyr_admin_custom_script');
和
function cf_enqueue_admin_script() {
wp_enqueue_script('admin_custom_script', get_template_directory_uri() . '/js/admin.js', array('jquery', 'wp-color-picker'), false, true);
}
add_action('admin_print_scripts-widgets.php', 'cf_enqueue_admin_script'));
和
class cfstcyr_plugin extends WP_Widget {
public function __construct() {
...
add_action('admin_print_scripts-widgets.php', array(&$this, 'load_scripts'));
}
function load_scripts() {
wp_enqueue_script('admin_custom_script', get_template_directory_uri() . '/js/admin.js', array('jquery', 'wp-color-picker'), false, true);
}
}
和
class cfstcyr_plugin extends WP_Widget {
public function form() {
...
wp_enqueue_script('admin_custom_script', get_template_directory_uri() . '/js/admin.js', array('jquery', 'wp-color-picker'), false, true);
}
}
它可以工作,但是当我保存而不刷新页面或当我在定制器中它不起作用。 我也试过这个:
class cfstcyr_plugin extends WP_Widget {
public function form() {
...
<script type="text/javascript">
...
</script>
}
}
但它会触发多次。
我真的需要添加Javascript(媒体上传器,颜色选择器等)但是我在保存页面后没有刷新也不能在定制器中使用它。
所以我想要的是:my_custom_widget.php
class cfstcyr_plugin extends WP_Widget {
public function form() {
// Option form for widget
<p>Click here!</p>
}
}
和我的widget.js
(function ($) {
$(document).ready(function () {
$('.p').click(function() {
alert('Hello World!');
});
});
}(jQuery));
非常感谢!