0
我知道這個問題有點幼稚,但我認爲把它放在這裏是件好事。HTML拖放上傳文件的增強功能?
我有一個HTML拖放上傳文件。我的問題是,如果當用戶點擊droparea(在正常行爲拖放文件到droparea旁邊)並且選擇文件對話框打開以及用戶選擇文件時,我們可以調用drop事件並啓動normal拖放。
是否有可能或有人做過或想過這個?
感謝
我知道這個問題有點幼稚,但我認爲把它放在這裏是件好事。HTML拖放上傳文件的增強功能?
我有一個HTML拖放上傳文件。我的問題是,如果當用戶點擊droparea(在正常行爲拖放文件到droparea旁邊)並且選擇文件對話框打開以及用戶選擇文件時,我們可以調用drop事件並啓動normal拖放。
是否有可能或有人做過或想過這個?
感謝
我已經通過結合砸輸入元素上的事件一定成效。
想在這裏看到的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。無論如何,謝謝,我已經根據你的解決方案開發了其他東西:) – Ragnarsson 2013-04-10 12:32:17