当用户拖拽文件时,Javascript中是否有办法检测其文件名onDragEnter(不是在上传后)?
答案 0 :(得分:1)
并非每个浏览器都支持将文件拖动到文件输入(OS X上的FF4当然不支持),但是可以检查change
事件上的文件输入值,应该在浏览器之间提供统一的结果。
根据浏览器的不同,您可以检查
的值<input type="file" id="foo" />
像这样:
// vanilla JS
var filename = document.getElementById('foo').value;
// jQuery
var filename = $('#foo').val();
你会在change
监听器中执行此操作,如下所示(以下jsFiddle中的jQuery示例):
function alertFileName()
{
alert(this.value);
}
var input = document.getElementById('foo');
// not IE friendly; use `attachEvent` instead
input.addEventListener('change', alertFilename, false);
如果您上传名为bar.txt
的文件,则filename
将为:
'C:\fakepath\bar.txt'
(Chrome)'bar.txt'
(Firefox 4,Safari)我目前没有参加IE测试;随意try it yourself。