在Media Uploader中选择时不触发回调函数

时间:2016-07-13 作者:sadq3377

我正在研究主题开发,正在为媒体上传程序编写一些代码,可以用来添加图片。文件框架正在打开(我已调用wp_enqueue_media(); 如果是这样的话),但选择图片后不会发生任何事情。

我想我错过了一些简单的东西,坦率地说,我正在疯狂地寻找它。谁能帮帮我吗?

jQuery(document).ready(function($){

  var mediaUploader;

  $(\'#upload-button\').on(\'click\', function(e){
    e.preventDefault();
    if(mediaUploader){
      mediaUploader.open();
      return;
    }

    mediaUploader = wp.media.frames.file_frame = wp.media({
      title: \'Choose a profile picture\',
      button: {
        text: \'Choose Picture\'
      },
      multiple: false
    });

    //This alert fires.
    alert("First message.");

    $(mediaUploader).on(\'select\', function(){
      //This alert does not fire.
      alert("Second message.");
    });

    mediaUploader.open();
  });

});

1 个回复
最合适的回答,由SO网友:sadq3377 整理而成

Embarrassing.

$(mediaUploader).on(\'select\', function(){

Should be:

mediaUploader.on(\'select\', function(){

In case anybody stumbles upon this, $({item}) looks for the item in the DOM, not the variable of the same name in the previous code. Since the select event isn\'t firing in the DOM, the callback function isn\'t going to fire either.

相关推荐

从wp.media.editor.附件获取所选图像URL到文本输入失败。我做错了什么?

我已将媒体按钮作为post meta field 在以下情况下将图像URL插入文本字段Insert Into Page 单击按钮。它一直工作到打开“媒体存储库”窗口、选择“图像”和“插入”为止,但没有向输入字段传递任何值。Expected result结果应该是URL和媒体ID插入为https://avalon.com/dev/wp-content/uploads/2021/01/scp7147prko31.jpg|12 但没有返回值。我可以手动输入URL并保存数据。我彻底扫描了我的代码,并尝试了许多ja