2009-09-03 45 views
7

我正在使用MarkItUp(http://markitup.jaysalvat.com/),並且無法真正弄清楚如何在每個字符輸入時(甚至是遇到「空間」時)使其不斷更新預覽窗格。默認情況下,只有在輸入鍵被擊中時纔會刷新預覽窗格。MarkItUp!連續預覽刷新而不打入輸入

有沒有什麼辦法可以自定義這種行爲?文檔中提到了一個previewAutoRefresh密鑰,但設置它會導致更新輸入,而不是更快。

謝謝!

回答

2

使用相同的技術,如this question

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

注意,這將會發送一個新的請求到Web服務器上的每一個按鍵,因此,如果你有很多用戶來說,這將是一個很多次。

-2

previewAutoRefresh默認打開。

預覽刷新任何標記插入(或按下Enter鍵)。 預覽的內容由ajax發送到服務器端解析器來呈現標記語言(紡織,降價,bbcode等)。在每個擊鍵上做這個操作幾乎是不可能的(緩慢和沉重)。

markItUp!內置預覽只是一個幫手。您可以禁用它並編寫自己的預覽,使用客戶端腳本(例如攤牌),就像使用常規textarea一樣。

:)

+0

您介紹了MarkItUp的功能。它在網站上。這有什麼幫助? – psychotik 2010-03-09 07:01:16

2

非常晚,但更好的方法是開始爲每個按鍵的定時器(1秒),以便預覽只進行一次,當用戶做一個暫停(使用JQuery的計時器插件此代碼段):

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

欲瞭解更多詳情,你可以看到優秀的文章編碼輪Syntax highlighting談論textarea預覽。

+0

這引發:Uncaught TypeError:Object [object Object]沒有方法'stopTime'(我有jQuery定時器插件 - > https://raw.github.com/jbrooksuk/jQuery-Timer-Plugin/master/jquery.timer .js – bluszcz 2013-08-04 15:15:50

+0

我正在使用舊的jquery定時器插件,我在這裏複製了腳本http://pastebin.com/g2dY6hzs – 2013-08-05 22:42:59