首页 > 编程语言 > 详细

一个简单易懂的javascrip selection&range小案例

时间:2015-06-16 14:22:04      阅读:123      评论:0      收藏:0      [点我收藏+]

在制作富文本编辑器,尤其是在制作以div元素为编辑器区域时,当鼠标离开编辑区域以后会失去焦点,失去选区,这时候就要通过selection&range来重新设置选区。【以下代码尚未考虑IE低版本,请在现代浏览器下测试学习】

 

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>range</title>
	<style type="text/css">
	#edit{
		width: 100%;
		height: 300px;
		border: 1px solid #ccc;
	}
	</style>
</head>
<body>
	<div contenteditable="true" id="edit">
		<p>通过一个富文本编辑器,学习JavaScript!</p>
	</div>
	<div id="button">button</div>
	<script type="text/javascript">

	var edit = document.getElementById(‘edit‘);
	var button = document.getElementById(‘button‘);
	
	edit.addEventListener(‘mouseup‘, function() {
		saveSelection();
	});

	button.addEventListener(‘click‘, function() {
		restoreSelection();
		document.execCommand(‘underline‘, false, null);
		saveSelection();
	});

	function saveSelection() {
		selection = document.getSelection();
		save = selection.getRangeAt(0);
		
	}

	function restoreSelection() {
		var selection = window.getSelection();

		if(selection.rangeCount > 0) {
			selection.removeAllRanges();
		}

		var range = document.createRange();
		selection.addRange(save);
	}
	
	</script>
</body>
</html>

  

一个简单易懂的javascrip selection&range小案例

原文:http://www.cnblogs.com/chenshuo/p/4580457.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!