我正在使用 MarkItUp ( http://markitup.jaysalvat.com/ ) 并且无法真正弄清楚如何让它在输入每个字符时不断更新预览窗格(甚至在遇到“空格”时) . 默认情况下,它仅在按下回车键时刷新预览窗格。
有没有办法自定义这种行为?文档提到了一个previewAutoRefresh
键,但是设置它会导致输入时更新,而不是更快。
谢谢!
我正在使用 MarkItUp ( http://markitup.jaysalvat.com/ ) 并且无法真正弄清楚如何让它在输入每个字符时不断更新预览窗格(甚至在遇到“空格”时) . 默认情况下,它仅在按下回车键时刷新预览窗格。
有没有办法自定义这种行为?文档提到了一个previewAutoRefresh
键,但是设置它会导致输入时更新,而不是更快。
谢谢!
使用与此问题相同的技术。
$(".mymarkitupclass").keyup(function(){
$('a[title="Preview"]').trigger('mousedown');
});
请注意,这将在每次按键时向您的网络服务器发送一个新请求,因此如果您有很多用户,这将是很多点击。
很晚但更好的解决方案是为每次按键启动一个计时器(1 秒),以便在用户暂停时仅进行一次预览(此代码片段使用 JQuery 计时器插件):
$('#markitup').keydown(function() {
$(this).stopTime();
$(this).oneTime(1000, function() { $('a[title="Preview"]').trigger('mouseup'); });
});
有关更多详细信息,您可以查看关于编码轮语法突出显示的关于 textarea 预览的优秀帖子。
previewAutoRefresh 默认开启。
任何标记插入(或按下 Enter 键)都会刷新预览。预览的内容由 ajax 发送到服务器端解析器以呈现标记语言(textile、markdown、bbcode 等)。几乎不可能在每个按键上都执行此操作(缓慢而沉重)。
标记!内置预览只是一个帮手。您可以使用客户端脚本(例如 Showdown)禁用它并编写自己的预览代码,就像使用常规文本区域一样。
:)