ボタンがクリックされたときに、テキスト入力でユーザーが選択したテキストを取得しようとしています。これは私がしようとしているものです:
<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
)? Rangy
他の関連するjQueryライブラリを使用せずに、Javascriptソリューションを探しています..