0

以下のスクリプトの考え方は、テキスト領域からコンテンツを「プレビュー」することです。使い方?

  1. $('#preview_post')プレビュー モードをトリガーするアンカーです。
  2. テキストエリアの内容は次のように読み取られますvar content = $('#post_content').val();
  3. マークアップが表示される div (#content_previewed) を表示するために、テキストエリアが存在するフォームは非表示になっています。

これはJSコードです:

var pl_previwing = false;

$(document).ready(function(){
    $('#preview_post').plPreviewPost();


});
jQuery.fn.plPreviewPost = function(options) {
    this.on('click', function(){
        var content = $('#post_content').val();
        $('#replay_container form').toggle(function(){
            pl_previwing = !pl_previwing;
        });
        console.log("previewing: " + pl_previwing);
        //plCallParser();
    });
};

function plCallParser(){
    if (pl_previwing){
        console.log("do a post here to process the markup");
    }
}

ここで何が問題なのですか?コメント行があることに気付いた場合:

console.log("previewing: " + pl_previwing);
//plCallParser();

上記の行のコメントを外すと、firebug が突然ハングアウトし、ブラウザーがフリーズして次のメッセージが表示されます。

ここに画像の説明を入力

翻訳:

このページのスクリプトがビジーであるか、応答を停止している可能性があります。スクリプトを停止するか、応答を待ちます。

編集

  • 現在のブラウザ: 16.0.2、ただしすべてのブラウザで発生
  • 「テスト本文」しかないため、テキストエリアの内容は重要ではありません
4

1 に答える 1

2

で:

function plCallParser() {
    if (pl_previwing) {
        console.log("do a post here to process the markup");
});

「};};」を付ける必要があります そこに、そのように:

function plCallParser() {
    if (pl_previwing) {
        console.log("do a post here to process the markup");
    };
};

単純なエラー。ブラケットを台無しにすると嫌いです。

于 2012-11-17T03:34:51.407 に答える