【问题标题】:Enhancement for HTML Drag and Drop upload file?HTML 拖放上传文件的增强功能?
【发布时间】:2013-03-31 12:58:52
【问题描述】:

我知道这个问题有点幼稚,但我觉得还是放在这里还是不错的。

我有一个 HTML 拖放上传文件。我的问题是,如果有可能当用户单击放置区域(除了正常行为将文件拖放到放置区域之外)并打开选择文件对话框以及用户选择文件时,我们可以调用放置事件并开始正常的过程拖放。

有可能吗,或者有人做过或想过吗?

谢谢

【问题讨论】:

    标签: javascript asp.net html upload drag-and-drop


    【解决方案1】:

    我通过绑定到输入元素上的拖放事件取得了一些成功。

    在此处查看 jsfiddle:http://jsfiddle.net/LPVcM/

    祝你好运!

    HTML

    <div id="container">
        <div id="instructions">Drag a file here.</div>
    </div>
    

    Javascript

    var container = document.getElementById('container'),
        file = null,
        instructions = document.getElementById('instructions');
    
    addFileInput();
    
    function addFileInput() {
        var el = document.createElement('input');
        el.setAttribute('type', 'file');
        el.setAttribute('class', 'fileinput');
        el.addEventListener('drop', function() {
            instructions.innerHTML += ' Thanks!';
        });
        el.addEventListener('change', function() {
            instructions.innerHTML += ' Yum!';
        el.className += ' hidden'
            addFileInput();
        });
        container.appendChild(el);
    }
    

    CSS

    .fileinput {
        position: absolute;
        width: 300px;
        height: 200px;
        opacity: 0;
    }
    
    .fileinput.hidden {
        display: none;
    }
    
    #instructions {
        position: absolute;
        width: 300px;
        height: 200px;
    }
    
    #container {
        border: 1px solid black;
        width: 300px;
        height: 200px;
    }
    

    【讨论】:

    • 你放大输入按钮并隐藏它很聪明,所以用户可以感觉到他们实际点击并打开了对话框,但仅限于“右侧区域”:D。无论如何,谢谢,我已经根据您的解决方案开发了其他东西:)
    猜你喜欢
    • 1970-01-01
    • 2013-12-24
    • 1970-01-01
    • 2012-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-15
    相关资源
    最近更新 更多