JQuery不适用于媒体上传器

时间:2016-10-05 作者:touqeer
jQuery.fn.upload_image = function( button ) {
    var button_id = button.attr(\'id\');
    var field_id = button_id.replace( \'_button\', \'\' );

    // If the media frame already exists, reopen it.
    if ( file_frame ) {
      file_frame.open();
      return;
    }

    // Create the media frame.
    file_frame = wp.media.frames.file_frame = wp.media({
      title: jQuery( this ).data( \'uploader_title\' ),
      button: {
        text: jQuery( this ).data( \'uploader_button_text\' ),
      },
      multiple: false
    });

    // When an image is selected, run a callback.
    file_frame.on( \'select\', function() {
      var attachment = file_frame.state().get(\'selection\').first().toJSON();
      jQuery("#"+field_id).val(attachment.id);
      jQuery("#listingimage img").attr(\'src\',attachment.url);
      jQuery( \'#listingimage img\' ).show();
      jQuery( \'#\' + button_id ).attr( \'id\', \'remove_image_button\' );
      jQuery( \'#remove_image_button\' ).text( \'Remove image\' );
    });

    // Finally, open the modal
    file_frame.open();
};

jQuery(\'#listingimage\').on( \'click\', \'#upload_image_button\', function( event ) {
    event.preventDefault();
    jQuery.fn.upload_listing_image( jQuery(this) );
});

jQuery(\'#listingimage\').on( \'click\', \'#remove_image_button\', function( event ) {
    event.preventDefault();
    jQuery( \'#upload_image\' ).val( \'\' );
    jQuery( \'#listingimage img\' ).attr( \'src\', \'\' );
    jQuery( \'#listingimage img\' ).hide();
    jQuery( this ).attr( \'id\', \'upload_image_button\' );
    jQuery( \'#upload_image_button\' ).text( \'Set image\' );
});

});

1 个回复
SO网友:Mathis Schülingkamp

即使这个“问题”在这里问得很可怕,我想他的问题是“file\\u frame.on(\'select\')似乎不再有效了,至少这是我最近遇到的问题。

这似乎与WordPress的更新有关,因为这段代码在过去是有效的。

相关推荐

如何使用两个不同文件向jQuery AJAX调用发送php变量

我需要从一个php文件(page.php)向另一个jquery文件(sender.js)中的Ajax调用发送一个私人电子邮件地址。此电子邮件地址必须对用户/或网站不可见,直到用户从wp\\U mail获得自动响应,它必须允许用户答复组织。此电子邮件地址因客户想要联系的组织而异(数百个)。我必须在表单之前从组织获取电子邮件地址,因为它是由javascript生成的。(generated\\u mail.js)发件人。js在页面的标题中被很好地调用。php我在(page.php)中尝试了这段代码——一个组织在