マークイットアップ!Enterキーを押さずにプレビューを継続的に更新する
質問
私はMarkItUpを使用しています(http://markitup.jaysalvat.com/)、各文字が入力されるたびに(または「スペース」が見つかった場合でも)プレビューペインを継続的に更新する方法が実際にはわかりません。デフォルトでは、Enter キーが押された場合にのみプレビュー ペインが更新されます。
この動作をカスタマイズする方法はありますか?ドキュメントには次のように言及されています previewAutoRefresh
キーを使用しますが、これを設定すると、入力時に更新され、高速化されません。
ありがとう!
解決
使用するのと同じ手法この質問
。$(".mymarkitupclass").keyup(function(){
$('a[title="Preview"]').trigger('mousedown');
});
これはあなたが多くのユーザーを持っている場合ので、これはヒットの多くのだろう、すべてのキー操作上のウェブサーバーに新しい要求を送信することです。 注意
他のヒント
非常に遅れていますが、より良い解決策は、キーを押すたびにタイマー (1 秒) を開始して、ユーザーが一時停止したときにプレビューが 1 回だけ行われるようにすることです (このコード スニペットは JQuery タイマー プラグインを使用しました)。
$('#markitup').keydown(function() {
$(this).stopTime();
$(this).oneTime(1000, function() { $('a[title="Preview"]').trigger('mouseup'); });
});
詳細については、ホイールのコーディングに関する優れた投稿をご覧ください。 構文の強調表示 テキストエリアのプレビューについて話します。
previewAutoRefreshがデフォルトでオンになっています。
はプレビューは任意のマークアップの挿入で更新(または押されたキーを入力してください)されます。 プレビューコンテンツは、マークアップ言語(繊維、値下げ、BBコードなど)をレンダリングするサーバ側パーサーにAJAXによって送信されます。すべてのキーストロークでこの操作を行うと、(遅いと重い)ほとんど不可能である。
markItUp!内蔵のプレビューは単なるヘルパーです。あなたは、通常のテキストエリアとしなければならないと同じように、クライアント側のスクリプト(例えば対決)を使用して、それとのコード独自のプレビューを無効にすることができます。
:)