3

Firefoxは新しい行を壊し<br>、ChromeとSafariは新しい行を壊し<div>...</div>、InternetExplorerとOperaは<p>...</p>新しい行に段落を使用しています。

新しい行に分割するときに、各ブラウザに段落のみを作成させる方法を探しています。

ckeditorがこの機能をサポートしていることは知っていますが、カスタムエディターで簡単に実現するにはどうすればよいですか?

4

4 に答える 4

4

私にとっては、contenteditabledivのイベントに追加document.execCommand('formatBlock', false, 'p');するソリューションでした。keypress例えば:

element.addEventListener('keypress', function(ev){
    if(ev.keyCode == '13')
        document.execCommand('formatBlock', false, 'p');
}, false);

それが誰かを助けることを願っています。:)

于 2013-08-11T12:47:22.753 に答える
2

<p>改行後に改行を追加したいが、前の行のフォーマットをそのままにしておきたい場合(つまり、改行している場合<h1>)、@MorganTileyと@PageOnlineの回答を組み合わせます。

editor.addEventListener('keypress', function(e){
    if(e.keyCode == '13') {
      e.preventDefault();
      document.execCommand('insertParagraph', false);
      document.execCommand('formatBlock', false, 'p');
    }
  }, false);
于 2016-01-27T21:03:46.123 に答える
1

execCommand "insertparagraph"を試してください。例:

document.execCommand('insertParagraph',false,'id for new p')

または、キーダウンイベントを処理し、キーコード13(修飾子なし)をキャッチして、好きなことを行うこともできます。

修正済み

于 2012-06-05T14:15:28.527 に答える
-4

この関数が必要なエディターは特定されていませんが、CKEditorについて言及しているので、それについて質問していると思います。これをconfig.jsファイルに追加するだけです。

config.enterMode = CKEDITOR.ENTER_P;
于 2012-06-04T14:14:03.680 に答える