2

jquery blockuiプラグイン(http://jquery.malsup.com/block/#)の使用に関するこれらの質問について誰かが私を助けてくれますか?

  1. なぜこれが機能しないのですか?

    $(document).ajaxStart($.blockUI({message: "wait..."})).ajaxStop($.unblockUI);
    

    私がこれをするだけなら:

    $(document).ajaxStart($.blockUI).ajaxStop($.unblockUI);
    

    それは動作しますが、デフォルトのメッセージを自分のものでオーバーライドするように設定したいと思います。これも機能しません:

    $.blockUI({ message: "wait..." });
    
  2. 私はこれでメッセージを上書きすることができました:

    $ .blockUI.defaults.message = "wait ...";

    しかし、ページでdivを定義し、それをmessageプロパティに渡すと、機能しませんが、プラグインのWebサイトのドキュメントによると、次のようになります。

    <div id="loadingMessageBox" style="display: none;">
        <img src="../Images/spinning.gif" />wait...
    </div> 
    
    $.blockUI.defaults.message = $("#loadingMessageBox");
    

ありがとう。

4

1 に答える 1

1

$(document).ajaxStart()は、関数への参照を引数として取ります。将来、ajax呼び出しが開始されたときにjqueryが呼び出す関数を提供します。これが、機能するバージョンが機能する理由であり、機能$document.ajaxStart($.blockUI)しないバージョンです。$document.ajaxStart($.blockUI())

2番目のバージョン$.document.ajaxStart($.blockUI({message: 'wait...'})は、機能的には同等です$document.ajaxStart($.blockUI())。blockUI関数をすぐに呼び出し、参照を提供しません。

デフォルトのblouckUIメッセージを変更したくない場合、これを修正する最も簡単な(おそらく最善ではない)方法は、次のような別の関数でラップすることです。

var ajaxBlock = function() { $.blockUI({message: 'wait...'}) }
$(document).ajaxStart(ajaxBlock);
于 2013-01-05T18:23:37.083 に答える