0

下面脚本的想法是“预览”来自文本区域的内容。这个怎么运作?

  1. $('#preview_post')是触发预览模式的锚点。
  2. textarea 内容被读取为var content = $('#post_content').val();
  3. 为了显示将显示标记的 div (#content_previewed),隐藏了 textarea 所在的表单。

这是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,但它发生在所有浏览器中
  • textarea 的内容并不重要,因为它只有“测试体”
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 回答