通常のテキストボックスと、テキスト入力付きのライトボックスがあります。
ユーザーがライトボックスのテキスト入力に焦点を合わせている場合でも、ユーザーの選択をテキストボックスに保持したいと思います。
- 通常のテキストボックスでテキストを選択します
- ライトボックスを切り替えます
- ライトボックス入力に焦点を当てる
手順3で、ユーザーのテキスト選択は破棄されます。どうすればこれを防ぐことができますか?たとえば、Googleドキュメントのリンク挿入ライトボックスを参照してください。
ありがとう :)
アップデート
わかりました。Googleドキュメントでは、空白のページセクションにiframeを使用しています。これは、複数の選択を処理する方法です。このようなもの(嫌なHTMLを許してください):
// test.html
<html><body>
<h1 onclick='lightbox();'>This is the main section</h1>
<iframe src='frame.html'></iframe>
<div id='lightbox' style='display: none; position: fixed; top: 0; left: 0; height: 100%; width: 100%; opacity: 0.8; background-color: black;'>
<input type='text' name='url' />
</div>
<script type='text/javascript'>
function lightbox() {
document.getElementById('lightbox').style.display = 'block';
}
</script>
</body></html>
// frame.html
<p>This is my iframe</p>
iframeでのテキストの選択は、ライトボックスの入力へのフォーカスとは無関係です。したがって、「これは私のiframeです」というテキストの一部が選択されている場合、ライトボックスが切り替えられ、カーソルが入力に置かれ、iframeのテキスト選択はjavascriptなしで保持されます。
私は今ニコライの提案を試みています。