题
我正在使用 MarkItUp (http://markitup.jaysalvat.com/)并且无法真正弄清楚如何让它在键入每个字符时(甚至遇到“空格”时)持续更新预览窗格。默认情况下,仅当按下 Enter 键时才会刷新预览窗格。
有什么方法可以自定义这种行为吗?该文档提到了一个 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'); });
});
有关更多详细信息,您可以参阅有关编码轮子的优秀帖子 语法高亮 谈论文本区域预览。
previewAutoRefresh是默认。
预览在任何标记的插入刷新(或回车键按下)。 预览的内容是通过AJAX发送到服务器端的解析器来呈现标记语言(纺织,降价,设置高亮等)。上的每个关键笔划执行这项操作几乎是不可能的(慢速和重)。
在markItUp!内置的预览只是一个帮手。您可以禁用它,并编写自己的预览,使用客户端脚本(摊牌为例),你不应该用常规的textarea做。
:)
不隶属于 StackOverflow