我不是JS方面的专家,所以我在我的插件中遇到了一个问题,问题是我使用wp.media 对于每个字段,您将在下面的代码中看到:
var mediaClientUploader;
// background
$(document).on(\'click\', \'.upload_client_logo\', function(e) {
// blocking
e.preventDefault();
var $this = $(this);
var myInput = $this.prev(\'input\');
//alert(myInput.data(\'repeat-count\'));
if ( mediaClientUploader ) {
mediaClientUploader.open();
return;
}
mediaClientUploader = wp.media.frames.file_frame = wp.media({
title: \'Upload Picture\',
button: {
text: \'Choose Picture\'
},
multiple: false
});
console.log(mediaClientUploader);
mediaClientUploader.on(\'select\', function () {
attachment = mediaClientUploader.state().get(\'selection\').toJSON();
myInput.val(attachment.url);
});
mediaClientUploader.open();
});
问题是这个特定的部分
mediaClientUploader.on(\'select\', function () {
attachment = mediaClientUploader.state().get(\'selection\').toJSON();
myInput.val(attachment.url);
});
它只运行了一次,我的意思是,对于第一次选择,它将为我选择的第一次输入反复附加URL!!
我知道这个问题我可以用$(document).on("select", "#div", function) 但我不知道如何将此方法用于wp。媒体或我的varmediaClientUploader