1

非常に基本的な WYSIWYG エディターを作成するために ExecCommand を使用しています。これは、将来のプロジェクトで作成する必要があるためです (したがって、CKEditor や tinyMCE のようなものについては教えないでください)。通常の使用ではすべて正常に動作します。ただし、iFrame よりも広い単語を入力すると、単語は分割されません。代わりに、スクロールバーが iFrame に追加されます。これが私の問題を示すビデオです: https://vimeo.com/42699618 だから、これを防ぐ最も簡単な方法は何だろう?

コードは次のとおりです。

    <script language="JavaScript">
$(document).ready(function(e) { 
    textArea.document.designMode = 'On'; 

    $("#bold").click(makeBold);
    $("#italic").click(makeItalic);

    function makeBold() {
        textArea.document.execCommand('bold', true, null);
        $("#textArea").focus();
    }
    function makeItalic() {
        textArea.document.execCommand('italic', false, null);
        $("#textArea").focus();
    }
});
</script>
<body>

    <iframe id="textArea" style="width: 700px; height:400px;"></iframe>
4

1 に答える 1

0

基本的に、既存のシステムが最初の部分を処理し、単語を改行します。あなたはより簡単なバージョンを選びました:)

単語をレンダリングするときは、単語の長さとフィールドの幅に基づいて、文字列をいくつかの文字列に分割する必要があります。

データ内の単語ではなく、ビュー内の単語のみを分割していることを確認してください! ユーザーがビューのサイズを変更した場合、データを元に戻そうとする必要はありません:p

手順: レンダリングするたびに、各単語がビューの幅を超えているかどうかを確認し、超えている場合は分割し、断片を順番にレンダリングして続行します。

于 2012-05-23T19:31:45.637 に答える