演示:http://jsbin.com/caxuk/1/edit的Javascript`getSelection()getRangeAt(0)`不與標籤正常工作
我使用window.getSelection().getRangeAt(0)
選擇一些文本操作。然而,當我選擇在<b>
標籤,返回的範圍是1
我怎麼能夠得到適當的範圍內,無論是在什麼樣的方式標記\
代碼的完整性:?
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
<meta charset="utf-8">
<title>JS Bin</title>
</head>
<body>
<div id="text">
<b>smfk</b> - osdnmfoaidsmnfoids
</div>
</body>
</html>
$("#text").mouseup(function (evt) {
var selectionRange = window.getSelection().getRangeAt(0);
var range = selectionRange.endOffset - selectionRange.startOffset;
alert(range);
});
突出smfk
,smfk -
等返回1,2,3 ...爲範圍
編輯:我需要返回不含任何標籤的範圍...所以,如果我選擇smfk -
,它應該返回0-4,不0-11
upvote for toString()...但爲什麼不只是alert(window.getSelection()。toString()。length)? – mauretto
@mauretto,因爲我需要一個準確的'開始'和'結束'點.. – TheGeekZn