-1

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

1 回答 1

3

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

function myFunction(obj) {
    var selectedText = obj.value.slice(obj.selectionStart, obj.selectionEnd);
    alert(selectedText);
}

如果您需要对 IE <= 8 的支持,那么还有一个不同的 API。请参阅textarea 中的插入符号位置,以字符开头

于 2013-04-18T16:37:12.650 回答