【发布时间】:2013-10-05 03:26:58
【问题描述】:
我已经为fineUploaderS3 对象定义了模板和文件模板选项。
我已经能够更改 qq-upload-button 元素的外观,方法是将 div 更改为按钮,并在上传器创建后将其设置为按钮。
template: '<div class="qq-uploader">' +
'<div class="qq-upload-drop-area"><span>{dragZoneText}</span></div>' +
'<button class="qq-upload-button"><div>{uploadButtonText}</div></button>' +
'<span class="qq-drop-processing"><span>{dropProcessingText}</span><span class="qq-drop-processing-spinner"></span></span>' +
'<ul class="qq-upload-list"></ul>' +
'</div>',
...
$('.qq-upload-button').button();
虽然按钮发生了变化,并且在单击添加文件时可以正常工作,但文件没有显示在列表中,这显然是损坏的。
让Upload按钮使用当前jQueryUI风格按钮的正确方法是什么?
更新 1
阅读以下帖子后:How to assign custom css class to upload button in fineuploader?
看起来上传按钮尝试更改为普通的jQueryUI按钮会很有问题。
所以我通过将上传按钮更改为“显示:无”解决了这个问题,创建了我自己的通用 jQueryUI 按钮,点击我的按钮,点击隐藏按钮。
解决方案:
<button id="addFiles">Add Files</button>
...
template: '<div class="qq-uploader">' +
'<div class="qq-upload-drop-area"><span>{dragZoneText}</span></div>' +
'<div class="qq-upload-button" style="display:none;"><div>{uploadButtonText}</div></div>' +
'<span class="qq-drop-processing"><span>{dropProcessingText}</span><span class="qq-drop-processing-spinner"></span></span>' +
'<ul class="qq-upload-list"></ul>' +
'</div>',
...
$('#addFiles').click(function() {
$(".qq-uploader input").click();
});
【问题讨论】:
-
您应该发布您的解决方案作为答案,以便其他人受益。
-
由于在这些浏览器中实施了安全限制,您的方法将不适用于 IE9 和更早版本。我们将很快研究 jQuery UI 按钮的问题...
标签: fine-uploader