MarkItUp!连续预览刷新而不按Enter键

时间:2009-09-03 05:38:24

标签: markdown markitup

我正在使用MarkItUp(http://markitup.jaysalvat.com/)并且无法确定如何在键入每个字符时(甚至在遇到“空格”时)不断更新预览窗格。默认情况下,仅在按下回车键时才刷新预览窗格。

有没有办法自定义此行为?该文档提到了previewAutoRefresh密钥,但设置它会导致更新输入内容,而不是更快。

谢谢!

3 个答案:

答案 0 :(得分:2)

使用与this question中相同的技巧。

$(".mymarkitupclass").keyup(function(){
    $('a[title="Preview"]').trigger('mousedown');
});

请注意,这会在每次按键时向您的网络服务器发送一个新请求,因此如果您有很多用户,那么这将是很多点击。

答案 1 :(得分:2)

很晚但更好的解决方案是为每个按键启动一个计时器(1秒),以便在用户暂停时(此代码段使用JQuery计时器插件)只进行一次预览:

    $('#markitup').keydown(function() {
    $(this).stopTime();
    $(this).oneTime(1000, function() { $('a[title="Preview"]').trigger('mouseup'); });
});

有关详细信息,您可以看到关于编码轮Syntax highlighting的优秀文章,讨论textarea预览。

答案 2 :(得分:-2)

默认情况下,previewAutoRefresh处于启用状态。

在任何标记插入(或按下Enter键)时刷新预览。 预览的内容由ajax发送到服务器端解析器以呈现标记语言(纺织品,降价,bbcode等)。在每次击键时执行此操作几乎是不可能的(缓慢而沉重)。

markItUp!内置预览只是一个帮手。您可以使用客户端脚本(例如Showdown)禁用它并编写自己的预览,就像使用常规textarea一样。

:)