7

MarkItUp ( http://markitup.jaysalvat.com/ ) を使用していますが、各文字が入力されるたびに (または「スペース」が検出された場合でも)、プレビュー ペインを継続的に更新する方法がわかりません。 . デフォルトでは、Enter キーが押されたときにのみプレビュー ペインが更新されます。

この動作をカスタマイズする方法はありますか? ドキュメントにはpreviewAutoRefreshキーが記載されていますが、それを設定すると、入力時の更新が発生し、高速ではありません。

ありがとう!

4

3 に答える 3

2

この質問と同じテクニックを使用してください。

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

これにより、キーを押すたびにウェブサーバーに新しいリクエストが送信されることに注意してください。そのため、多くのユーザーがいる場合、これは多くのヒットになります。

于 2010-11-27T23:58:51.903 に答える
2

非常に遅いですが、より良い解決策は、キーを押すたびにタイマー (1 秒) を開始して、ユーザーが一時停止したときにプレビューが 1 回だけ実行されるようにすることです (このコード スニペットでは JQuery タイマー プラグインを使用しています)。

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

詳細については、テキストエリアのプレビューについて話しているホイール構文の強調表示に関する優れた投稿を参照してください。

于 2012-11-26T00:02:21.937 に答える
-2

previewAutoRefresh はデフォルトでオンになっています。

プレビューは、マークアップの挿入 (または Enter キーの押下) で更新されます。プレビューのコンテンツは ajax によってサーバー側のパーサーに送信され、マークアップ言語 (テキスタイル、マークダウン、bbcode など) がレンダリングされます。すべてのキーストロークでこの操作を行うことはほとんど不可能です (遅くて重い)。

マークイットアップ!組み込みのプレビューは単なるヘルパーです。通常のテキストエリアで行う必要があるように、クライアント側のスクリプト (たとえば Showdown) を使用して、それを無効にして独自のプレビューをコーディングできます。

:)

于 2009-11-18T15:24:48.617 に答える