0

この blockUI プラグインには奇妙なことがあります。

これは、ブロックを呼び出すために作成した関数です。

function runBlockUI(selector,width)
{
    $.blockUI({ 
        message: $(selector),
        centerY: 0, 
        css: { 
            top:  '30px', 
            left: ($(window).width() - width) /2 + 'px', 
            width: width + 'px',
            height: '550px'}
    });
    $('.blockOverlay').attr('title','Klik om venster te sluiten');
    $('.blockOverlay').click($.unblockUI);
}

問題は、関数が 3 つの異なるセレクターによって呼び出されていることです。2個で完璧に動作します。しかし、もう一方は一度しか機能しません。関数を閉じてリコールした後、次のエラーが発生します(firebug内):

TypeError: $.blockUI is not a function

私はこれについてかなり混乱していて、誰かが私を助けてくれることを願っています! 前もって感謝します!

グルツ

!!!解決済み!!!

問題は解決しました。私はこれを見なかったのでとてもばかです(笑)。機能は2つのアイテムでうまく機能します。しかし、機能していないものでは、メッセージ div に html ファイルの load() 関数が含まれています。馬鹿に使ってた

<script type="text/javascript" src="jquery.js"></script>

ロードされたhtmlで。このロードにより、blockUI プラグインが「設定解除」されました。js のインクルードを削除し、現在は機能しています! ご清聴ありがとうございました!

4

1 に答える 1

0

この行が問題のようです..

$('.blockOverlay').click($.unblockUI);

関数ではなくクリックイベントにメソッドを割り当てています..

$('.blockOverlay').click(function() {$.unblockUI() } ); // Supposed to be called this way

また、関数を呼び出すたびにクリックイベントを割り当てています..この行を関数呼び出しの外に移動します..

于 2012-10-08T07:47:36.993 に答える