在管理面板中,当我将小部件添加到无法执行javascript的页面时。这是我的插件的代码:
class Mosaic extends WP_Widget {
// class constructor
public function __construct() {
$widget_ops = array(
'classname' => 'Mosaic',
'description' => 'Widget provides mosaic jquery.',
);
parent::__construct( 'mosaic', 'mosaic', $widget_ops );
}
// output the widget content on the front-end
public function widget( $args, $instance ) {
echo $args['before_widget'];
echo $args['after_widget'];
}
// output the option form field in admin Widgets screen
public function form( $instance ) {
wp_enqueue_media();
?>
<ul id="sortable123">
<li class="ui-state-default">test1</li>
<li class="ui-state-default">test12</li>
<li class="ui-state-default">test122</li>
</ul>
<?php
}
// save options
public function update( $new_instance, $old_instance ) {}
}
add_action( 'widgets_init', function(){register_widget( 'Mosaic' );});
function my_enqueue() {
wp_enqueue_script( 'mosaic-js', 'mymosaic.js' );
}
add_action( 'admin_enqueue_scripts', 'my_enqueue' );
wp_enqueue_script( 'mosaic-js', '/wp-content/plugins/mosaic/mymosaic.js', array( 'jquery' ), '0.0.1', true );
并且javascript很简单,基于Jquery:
jQuery( document ).ready( function( $ ) {
$('.ui-state-default').click(function() {
alert( "Handler click called." );
});
});
如果我将其放在javascript警报功能中,则可以正常工作。但是其他所有事情,例如单击都不起作用,您能帮我解决这个问题吗?