2

嘿,伙计们,在我最近的项目中,我使用 valums 文件上传器进行基于 ajax 的文件上传,因为我发现它最符合我的要求,但现在我被困在一个点上,那就是我想删除我拥有的拖放功能在互联网上搜索了几个小时,但没有发现任何有用的信息。有没有办法从插件中删除这部分?这是我的代码

uploader = new qq.FileUploader({
        element:        $('#file-uploader')[0],
        action:         base_url + 'assets/scripts/server-side/server-side-uploader.php',
        debug:          true,
    });
4

6 回答 6

4

您可以在没有拖放部分的情况下定义自己的模板,例如我有:

template: '<div class="qq-uploader">' +
                '<div class="qq-upload-drop-area"><span>Drop files here to upload</span></div>' +
                '<div class="qq-upload-button">Upload Proof</div>' +
                '<ul class="qq-upload-list"></ul>' +
             '</div>',

从模板中删除以下行以禁用拖放功能

'<div class="qq-upload-drop-area"><span>Drop files here to upload</span></div>' +
于 2012-09-05T08:52:13.417 回答
1

我不同意这个问题的公认答案。在删除线的情况下

'<div class="qq-upload-drop-area"><span>Drop files here to upload</span></div>' +  

qq 上传器给出throw new error('element not found ' + type),所以这肯定不是解决方案 - 没有人想在页面上看到 javascript 错误(至少我是这样)。

我认为,摆脱该放置区域的最简单方法是使用 css 隐藏 div:只需执行

.qq-upload-drop-area {
    display: none;
}

这对我来说很好。没有错误,没有 div 块。

于 2013-08-15T09:35:09.133 回答
1
var uploader = new qq.FileUploader({
....
});

qq.attach(document, 'dragenter', function(e) {
    $('.qq-upload-drop-area').hide();
});
于 2014-09-10T05:05:45.193 回答
0

请改用 FileUploaderBasic。qq.FileUploader 实际上扩展了 FileUploaderBasic,并添加了列表支持和拖放内容。FileUploaderBasic 仅实现按钮和验证。

var uploader = new qq.FileUploaderBasic({
    // pass the dom node (ex. $(selector)[0] for jQuery users)
    element: document.getElementById('file-uploader'),
    // path to server-side upload script
    action: '/server/upload'
});

如果您想使用 FileUploaderBasic 没有的其他一些功能(如列表),只需在 fileupoader.js 之后引用的单独 JavaScript 文件中扩展 qq.FileUploaderBasic,如下所示:

var qq = qq || {};

qq.extend(qq.FileUploaderBasic.prototype, {
 //override uploader stuff by just creating a function with the same name,
 //like this function that creates the upload button
 _createUploadButton: function(element){
    var self = this;
    //make whatever modifications you want here
    return new qq.UploadButton({
        element: element,
        multiple: this._options.multiple && qq.UploadHandlerXhr.isSupported(),
        onChange: function(input){
            self._onInputChange(input);
        }        
    });           
}
});
于 2012-04-27T23:56:01.643 回答
0

这对我有用

jQuery('.qq-upload-drop-area').remove();
于 2013-10-07T21:50:37.850 回答
0

只需使文本颜色透明

.ajax__fileupload_dropzone {color:transparent;}
于 2013-12-16T04:20:15.943 回答