我正在使用MarkItUp(http://markitup.jaysalvat.com/)并且无法确定如何在键入每个字符时(甚至在遇到“空格”时)不断更新预览窗格。默认情况下,仅在按下回车键时才刷新预览窗格。
有没有办法自定义此行为?该文档提到了previewAutoRefresh
密钥,但设置它会导致更新输入内容,而不是更快。
谢谢!
答案 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一样。
:)