Javascript window.getSelection()没有给我任何东西

时间:2018-09-29 04:25:11

标签: javascript

所以我看起来像个白痴,但我无法使它正常工作。它需要做的就是弹出一个警报,告诉您选择了什么文本。但是,看起来window.getSelection()并没有任何进展。

当我将常规字符串变量连接到警报中时,它将显示。但是我用window.getSelection()尝试过的一切都没有给我任何东西。

function myFunction() {
	var selObj = window.getSelection();
	var selText = selObj.toString();
	alert("You selected " + selText + "!");
}
Select some of the text : <input type="text" value="Hello world!" onselect="myFunction()">

1 个答案:

答案 0 :(得分:0)

您可以尝试使用onmouseup代替onselect。使用onselect时,事件处理程序将在用户开始进行选择时立即被调用。而且由于最初没有选择任何内容,因此当您的事件处理程序运行时,window.getSelection()将返回一个空字符串。如果使用onmouseup,则事件处理程序将在用户做出选择后运行,在这种情况下,当您调用window.getSelection()时,事件处理程序将正确返回用户做出的选择。

<!DOCTYPE html>
<html>
<body>

    Select some of the text: <input type="text" value="Hello world!" onmouseup="myFunction()">

<script>
    function myFunction() {
       var selObj = window.getSelection();
       var selText = selObj.toString();
       alert("You selected " + selText + "!");
    }
</script>

</body>
</html>