window.getselection()在FF和chrome中不起作用

时间:2013-04-18 16:28:13

标签: javascript events textbox onmouseup

我的页面中有文本框,我试图从文本框中获取长度。我知道如何在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>

1 个答案:

答案 0 :(得分:3)

Textareas和文本输入与主文档选择具有不同的选择API。使用textarea / input的selectionStartselectionEnd属性。

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