1

次のスクリプトを使用してアップロード ウィジェットを無効にしましたが、ドラッグ アンド ドロップ機能を使用してファイルをアップロードできます。これはバグですか、それとも何か間違っていますか?

<script type="text/javascript">
    $(document).ready(function () {
        $("#files").kendoUpload({
            multiple: false,
            async: {
                saveUrl: save,
                autoUpload: true
            },
            enabled: false
        });
    });
</script>
4

1 に答える 1

1

私はそれをバグと呼んでいます-Telerikが修正するまで修正する方法は次のとおりです(デモ):

kendo.ui.Upload.fn.toggle = function(enable) {
    var that = this;
    enable = typeof(enable) === "undefined" ? false : enable;
    this.wrapper.toggleClass("k-state-disabled", !enable);
    this.element.prop("disabled", !enable);

    var dragZone = $(".k-dropzone", that.wrapper);
    if (enable) {
        if (!dragZone.length) {
            this._setupDropZone();
        } else {
            dragZone.on("drop" + that._ns, $.proxy(this._onDrop, this));
        }
    } else {
        dragZone.off("drop" + that._ns);
    }
};

kendo.ui.Upload.fn._supportsDrop = function() {
    var userAgent = this._userAgent().toLowerCase(),
        isChrome = /chrome/.test(userAgent),
        isSafari = !isChrome && /safari/.test(userAgent),
        isWindowsSafari = isSafari && /windows/.test(userAgent);

    return !isWindowsSafari && this._supportsFormData() && (this.options.async.saveUrl) && (this.options.enabled);
}

(最初にウィジェットを作成する前にこれを追加してください)

于 2014-01-05T10:55:28.373 に答える