我的页面中有文本框,我试图从文本框中获取长度。我知道如何在IE中获取长度,但以下代码在FF和chrome中不起作用。
<!DOCTYPE html>
<html>
<head>
<script>
function myFunction(obj)
{
alert("mouse up");
var r=window.getSelection().createRange();
alert(r.text.length);
}
</script>
</head>
<body>
<textarea id="myArea" cols="30" spellcheck="false" onmouseup=myFunction(this)>Select some text within this field.</textarea>
</body>
</html>
答案 0 :(得分:3)
Textareas和文本输入与主文档选择具有不同的选择API。使用textarea / input的selectionStart
和selectionEnd
属性。
function myFunction(obj) {
var selectedText = obj.value.slice(obj.selectionStart, obj.selectionEnd);
alert(selectedText);
}
如果您需要支持IE&lt; = 8,则会再次使用不同的API。见Caret position in textarea, in characters from the start