7

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

有没有办法自定义这种行为?文档提到了一个previewAutoRefresh键,但是设置它会导致输入时更新,而不是更快。

谢谢!

4

3 回答 3

2

使用与此问题相同的技术。

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

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

于 2010-11-27T23:58:51.903 回答
2

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

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

有关更多详细信息,您可以查看关于编码轮语法突出显示的关于 textarea 预览的优秀帖子。

于 2012-11-26T00:02:21.937 回答
-2

previewAutoRefresh 默认开启。

任何标记插入(或按下 Enter 键)都会刷新预览。预览的内容由 ajax 发送到服务器端解析器以呈现标记语言(textile、markdown、bbcode 等)。几乎不可能在每个按键上都执行此操作(缓慢而沉重)。

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

:)

于 2009-11-18T15:24:48.617 回答