我使用的是MarkItUp (http://markitup.jaysalvat.com/),但我真的不知道如何让它在输入每个字符时(甚至遇到空格时)不断更新预览窗格。默认情况下,它仅在按enter键时刷新预览窗格。
有什么方法可以定制这个行为吗?文档中提到了一个previewAutoRefresh密钥,但是设置它会导致输入时更新,而不是更快。
谢谢!
发布于 2010-11-28 07:58:52
使用与this question中相同的技术。
$(".mymarkitupclass").keyup(function(){
$('a[title="Preview"]').trigger('mousedown');
});请注意,这将在每次按键时向您的new服务器发送一个新请求,因此如果您有很多用户,这将是大量的点击。
发布于 2012-11-26 08:02:22
非常晚,但更好的解决方案是为每个按键启动一个计时器(1秒),以便在用户暂停时只进行一次预览(此代码片段使用JQuery计时器插件):
$('#markitup').keydown(function() {
$(this).stopTime();
$(this).oneTime(1000, function() { $('a[title="Preview"]').trigger('mouseup'); });
});有关更多细节,您可以查看关于编写轮子Syntax highlighting的优秀帖子,其中谈到了文本区预览。
发布于 2009-11-18 23:24:49
默认情况下,previewAutoRefresh处于启用状态。
在插入任何标记时(或按Enter键)都会刷新预览。预览的内容由ajax发送到服务器端解析器,以呈现标记语言(textile、markdown、bbcode等)。在每次击键时执行此操作几乎是不可能的(缓慢而沉重)。
markItUp!内置预览只是一个帮助器。您可以禁用它并编写自己的预览,使用客户端脚本(例如Showdown),就像您必须对常规的文本区域所做的那样。
:)
https://stackoverflow.com/questions/1371576
复制相似问题