JavaScript を使用してテキストボックス内のテキスト選択を保持する方法
テキストボックスを操作する場合、対話中にユーザーが選択したテキストを保持するのは困難な場合があります特に Internet Explorer でのタスク。この記事では、この問題に対する包括的な解決策を提供し、他のコントロールをクリックしたり、テキスト ボックスから移動した後でも、選択したテキストがそのまま残るようにします。
問題の理解
デフォルトでは、ユーザーがテキストボックス内のテキストを選択し、その境界の外側をクリックすると、選択内容が失われます。この動作は、選択内容を保持したいユーザーにとってイライラする可能性があります。
解決策
解決策は、JavaScript を使用して、選択内容が失われる前に選択したテキストをキャプチャすることです。 。これには、一連のイベント ハンドラーと互換性チェックを使用してブラウザを決定し、適切なコードを実装することが含まれます。
次のコード スニペットは、テキスト ボックスから選択されたテキストを取得する JavaScript 関数 ShowSelection を提供します。
<code class="javascript">function ShowSelection() { var textComponent = document.getElementById('Editor'); var selectedText; // Standards-compliant (non-IE) if (textComponent.selectionStart !== undefined) { var startPos = textComponent.selectionStart; var endPos = textComponent.selectionEnd; selectedText = textComponent.value.substring(startPos, endPos); } // Internet Explorer (IE6 and below) else if (document.selection !== undefined) { textComponent.focus(); var sel = document.selection.createRange(); selectedText = sel.text; } alert("You selected: " + selectedText); }</code>
実装
このソリューションを実装するには、ボタン (または他のコントロール) を作成し、それに ShowSelection 関数を呼び出すイベント リスナーを割り当てます。例:
<code class="html"><button type="button" onclick="ShowSelection()">Show Selected Text</button></code>
追加の考慮事項
Internet Explorer 6 では、選択内容が確実に保持されるように、クリック イベントの代わりに onKeyDown イベントを使用する必要があります。 。ただし、この解決策は、li タグを使用して描画されたボタンでは機能しません。
結論
この手法は、テキスト ボックスから選択したテキストをキャプチャして保存する信頼性の高い方法を提供します。異なるブラウザーや Internet Explorer のバージョン間でも同様です。適切なイベント ハンドラーと互換性チェックを使用することにより、開発者は、ページとの対話を通じてユーザーの選択が確実に維持されるようにすることができます。
以上がJavaScript を使用して TextBox 内のテキスト選択を保持するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。