单击按钮时,我试图在文本输入中获取用户选择的文本。这就是我正在尝试的:
<head>
<script type="text/javascript">
function GetSelectedText () {
if (window.getSelection) { // all browsers, except IE before version 9
var range = window.getSelection ();
alert (range.toString ());
}
else {
if (document.selection.createRange) { // Internet Explorer
document.getElementById("foo").focus();
var range = document.selection.createRange();
alert (range.text);
}
}
}
</script>
</head>
<body>
<button onclick="GetSelectedText ()">Get the selected text!</button>
<input type = 'text' id = 'foo' />12345
</body>
它在所有浏览器中都按预期工作,除了IE9
. 在IE9
中,如果您从12345
块中选择一些文本并按下按钮,则所选文本会被警告。但是,如果您在文本输入中键入内容,选择其中一些内容,然后单击按钮,则会生成空白警报。
谁能告诉我如何让它工作IE9
?还有什么方法可以让选择开始的光标位置也开始(类似于Mozilla的selectionStart
)?我正在寻找 Javascript 解决方案,没有Rangy
或其他相关的 jQuery 库..