[解決済み] プログラムによってコンテンツ化可能なHTML要素のテキストを選択する?
質問
JavaScriptでは、プログラムによってテキストを
input
または
textarea
要素で指定します。入力にフォーカスを当てるには
ipt.focus()
でフォーカスし、その内容を
ipt.select()
. で特定の範囲を選択することもできます。
ipt.setSelectionRange(from,to)
.
私の質問は、これを
contenteditable
要素でもできるのでしょうか?
ができることがわかりました。
elem.focus()
の中にキャレットを入れるには
contenteditable
要素に入れますが、その後に実行する
elem.select()
を実行してもうまくいきません (また
setSelectionRange
). それについてウェブ上で何も見つけることができませんが、たぶん間違ったものを探しているのでしょう...。
ちなみに、もし違いがあるのなら、これはChromeの拡張機能のためなので、Google Chromeで動作する必要があるだけです。
どのように解決するのですか?
Chrome で要素のすべてのコンテンツ (contenteditable または not) を選択したい場合、その方法は以下のとおりです。これは、Firefox、Safari 3+、Opera 9+(おそらく以前のバージョンも)、および IE 9 でも動作します。また、文字レベルまで選択範囲を作成することもできます。必要なAPIは、DOM Range(現在の仕様では DOM レベル 2 で、以下も参照してください。 MDN の一部として指定されている) と Selection。 新しい Range 仕様 ( MDN ドキュメント ).
function selectElementContents(el) {
var range = document.createRange();
range.selectNodeContents(el);
var sel = window.getSelection();
sel.removeAllRanges();
sel.addRange(range);
}
var el = document.getElementById("foo");
selectElementContents(el);
関連
-
[解決済み】SyntaxError: JSONの位置1に予期しないトークンoがある。
-
[解決済み】Node.jsで "Cannot find module "エラーを解決するには?
-
[解決済み】ある要素を別の要素に移動させるには?
-
nodejs unhandledPromiseRejectionWarning メッセージ
-
[解決済み] 要素外でのクリックを検出するにはどうすればよいですか?
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] jQueryで要素にスクロールする
-
[解決済み] jQueryを使ってドロップダウンリスト(セレクトボックス)から選択されたテキストを取得する
-
[解決済み] jQueryで名前を指定して要素を選択するには?
-
[解決済み】HTMLのテキスト入力で数値入力しかできない。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
JavaScriptにおけるマクロタスクとミクロタスクの詳細
-
WeChatアプレット用ユニアプリによるグローバルシェアリング
-
vueにおけるv-forループオブジェクトのプロパティ
-
VUEグローバルフィルターの概念と留意点、基本的な使い方
-
Vueのクラススタイルの使い方の詳細
-
[解決済み】React - uncaught TypeError: 未定義のプロパティ 'setState' を読み取れない
-
[解決済み】Uncaught SyntaxError: JSONの位置0に予期しないトークンuがあります。
-
[解決済み】ローカルファイルを開くことができません - Chrome: ローカルリソースの読み込みが許可されていない
-
フロントエンド null のプロパティ 'disabled' を読み取れない 問題が解決された
-
[解決済み] HTMLのテキスト入力でクリックするとすべてのテキストが選択される