Php 为什么';jQuery脚本是否连接到wordpress插件中的按钮?

Php 为什么';jQuery脚本是否连接到wordpress插件中的按钮?,php,wordpress,Php,Wordpress,我正在尝试在我的小部件管理页面中创建媒体上传程序。 我有3个文件: foo_widget_class.php (which holds my upload button) fileuploader.admin.js (wich handles my button clicks) foo_widget.php (wich registers my widget and scripts) foo_widget_class.php: class Foo_Widget extends WP_W

我正在尝试在我的小部件管理页面中创建媒体上传程序。 我有3个文件:

foo_widget_class.php (which holds my upload button)
fileuploader.admin.js (wich handles my button clicks)
foo_widget.php   (wich registers my widget and scripts)
foo_widget_class.php:

  class Foo_Widget extends WP_Widget {
    // a lot of code that works
   public function form( $instance ) {
      <input
      id="upload-button3"
      class="button buttons-secondary"
      type="button"
      value="Upload button">
    //rest of the class
foo_widget.php:

/*
Plugin Name: Foo widget
Plugin URI:  http://www.foo.nl
Description: This is a food widget
Version: 1.0
Author: Jeffrey Rocks
Author URI:  http://www.jeffrey.com
Licence: none
*/
function enqueue_media_uploader()
{
    wp_register_script('mediauploaderScript', plugins_url().'/foo_widget/js/fileuploader.admin.js', array('jquery'),'1.0.0','all');
    // at the end of the wp_registerscript instead of 'all'  i also tried
    // false and true. Both did nothing.
    wp_enqueue_script('mediauploaderScript');
    wp_enqueue_media();
}

include(plugin_dir_path(__FILE__).'foo_widget_class.php');

  // register Foo_Widget widget
function register_foo_widget() {
    register_widget( 'Foo_Widget' );
}

add_action( 'widgets_init', 'register_foo_widget' );
add_action("admin_enqueue_scripts", "enqueue_media_uploader");


?>
JS加载了,但我按下按钮,什么也没发生。控制台也不会输出任何错误。有人知道这是为什么吗

更新:

window.onload = function(){
       //var mediaUploader;
       document.getElementById("upload-button3").onclick = function() {

              alert( "Handler for .click() called." );
       };
       alert(document.getElementById("upload-button3"));
我尝试了javascript而不是jQuery。警报会触发,但按钮不起作用。警报说:

[object HTMLInputElement]

您正在将无效参数传递给
wp\u register\u script()
,看起来您复制并粘贴了wp\u register\u style()版本,但没有正确更新它。它应该如下所示,并且$in_footer设置为true

wp_register_script('mediauploaderScript', plugins_url().'/foo_widget/js/fileuploader.admin.js', array('jquery'),'1.0.0',true);

你确定jquery已排队?您的注册表行中有一个依赖项,但您确定它包含在内吗?在控制台中键入jQuery并点击enter以确保它在那里。您也可以尝试
jQuery(document).on('click','#upload-button3',function(){
-由于我们不确定加载后是否对dom进行了操作,请接受答案,以便其他人知道问题已解决,这将提高您的代表性。我尝试了true和false设置。两者都没有给出任何结果。请更新问题中的代码,然后使用您所做的更改@user2322791。
wp_register_script('mediauploaderScript', plugins_url().'/foo_widget/js/fileuploader.admin.js', array('jquery'),'1.0.0',true);