2

未来の穴居人からのご挨拶

単純な wysiwyg を作成しようとしていますが、残念ながら、単純な改行の代わりにデフォルトで段落を使用することはできません。それから私はこれを読みました:

designMode IFrame で Enter キーを押すと、ブラウザーに <p> タグを挿入するように強制します。

この質問は 1 年以上前に尋ねられました。リンクをたどると、Webkit のいくつかが「解決済み」であることがわかりました: https://bugs.webkit.org/show_bug.cgi?id=59961解決済み: http://trac.webkit.org/changeset/ 109529

申し訳ありませんが、私は速度に遅れていますが、これはどういう意味ですか: 解決されましたか?JS にアクセスしてキーストロークを監視せずにこれを行う方法はありますか?

そうでない場合、これに対する JS ソリューションは何でしょうか? 「入力」を監視してから、選択範囲を段落タグでどのようにラップしますか?? これまでのところ私はこれを試しましたが、うまくいきません

$("#richTextField").keydown(function(e) {
alert("you pressed something");
if (e.keyCode == 13) {
alert("you pressed ENTER"); 
richTextField.document.execCommand('formatblock',false,"P");
}
});

まったく機能しません-アラートもスローされません。

明確にするために...私が欲しい:

This is my first paragraph
<br>
This is my second paragraph
<br> 

これが今起こっていることです。

<p>This is my first paragraph</p>
<p>This is my second paragraph</p>

ありがとうございました

4

1 に答える 1

2

実際、私はJSを使用してそれを理解しました。以下の方法は簡単ですが、段落タグをリスト項目に挿入したり、改行をたくさん入れたりするなどの複雑さにつながります...後でphpで削除できると思います。必要な人のためのコードは次のとおりです。

$("#richTextField").contents().keydown(function(e) {
if (e.keyCode === 13) {
richTextField.document.execCommand('formatblock',false,"P");
}
});

または、このようにすることもできます。私の意見では、上記のコードで何かを書き込んでEnterキーを押さないと、段落タグがまったく取得されないため、この方がうまく機能します。

$("#richTextField").contents().keydown(function(e) {
richTextField.document.execCommand('formatblock',false,"P");
});

私が見つけた唯一の方法。JavaScript に入らずに「Enter」キーを監視していない別のことを誰かが知っている場合は、投稿してください。

于 2013-10-10T02:34:05.297 に答える