満足している、execCommand、そして新しくタイプされたテキストを太字にすることを強制する

StackOverflow https://stackoverflow.com/questions/5383771

質問

私はコンテンツとエグゼクティブコマンドにだまされています。ボタンが押されたら、それを作ろうとしています。

  • コンテンツ誘導性で選択されたテキストがある場合、それは太字になります

  • コンテンツ誘導性にテキストが選択されていない場合、ボタンを押した後にコンテンツに入力されたテキストは太字になります

次のJavaScriptコマンドを使用してみました。

 document.execCommand('bold', false, null);

しかし、残念ながら、それは選択されたテキストが太字になるようにするだけです。テキストが選択されておらず、ボタンを押した後に入力を開始した場合、テキストは未処理のものに表示されます。

Ctrl+Bをコンテンツ誘導型で押すと、それが正確に達成したいことを実行しますが、JavaScriptを使用してこれを達成したいと思います(JavaScriptのCtrl+Bをシミュレートすることなく)。

役に立ちましたか?

解決

実際に document.execCommand() コールはあなたが望むことを正確に行います(あなたはそれをから呼ぶことでこれを証明することができます keydown イベントハンドラー)、そして私はそれが問題であるコマンドをトリガーするために使用しているボタンまたは他のものの効果であると思います。

他のヒント

JavaScripts範囲は、選択したテキストをチェックアウトできます このリンク. 。これを使用して、選択したテキスト(StartNode、EndNode、Offsetなど)を取得できます。新しいテキストを太字にしたい場合は、新しいテキストに追加して作成しました <p> CSSで大胆に与えること。しかし、これはIEでは機能しないかもしれません...

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top