textarea 拖拽文本文件识别

·  阅读 62

思路

1、需要有一个容器:textarea或者div或者其他标签 2、监听容器的拖拽事件 dragenter、dragover、drop 3、获取拖拽文件数据e.dataTransfer.files 4、使用 FileReader 类解析文本文件获取文本内容 5、最终把文本内容传给容器

示例

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		<div class="oDiv" id="oDiv">
			<textarea rows="10" cols="50" id="outTextarea" placeholder="输入或拖拽.txt文件至框内"></textarea>
		</div>
	</body>
	<script type="text/javascript">
		var oDiv = document.getElementById('oDiv');
		var outTextarea = document.getElementById('outTextarea');
		
		oDiv.addEventListener("dragenter", function(e){
			e.stopPropagation();
			e.preventDefault();
		}, false);
		
		oDiv.addEventListener("dragover", function(e){
			e.stopPropagation();
			e.preventDefault();
		}, false);
		
		oDiv.addEventListener("drop", function(e){
			e.stopPropagation();
			e.preventDefault();
			console.log(e)
			console.log(e.dataTransfer)
			
			var dt = e.dataTransfer;
			var files = dt.files;
		
			handle("filelist",files);
		}, false);
		
		function handle(type,data){
			
			// 处理结果
			var handleResult = function(file){
				var reader = new FileReader();
			    reader.onload = function(e){
			      outTextarea.innerText = e.target.result;
			    };
			    reader.readAsText(file);
			};
		};
	</script>
</html>
复制代码

————————————————
版权声明:本文为CSDN博主「西风XF」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:blog.csdn.net/qq_36242361…

分类:
前端
标签:
分类:
前端
标签:
收藏成功!
已添加到「」, 点击更改