0

次のような 3 つのチェーン イベントがあります。

$("#Id")
.click()
.focus()
.blur()

私が欲しいもの:

var A = 0;
if(A == 0)
execute blur event

条件が満たされている場合にのみ、ぼかしイベントが実行されるようにします。

ぼかしイベント内で条件が満たされているかどうかを確認しようとしましたが、問題は、基本的に何もしないぼかし機能を実行したことでしたが、別のイベントから必要な機能を取得するために2回クリックする必要があるという問題がありました(注) : ぼかしイベントの機能ではありません)。

私の主な問題:日付ピッカーを表示するテキストボックスをクリックし、日付を選択すると、テキストボックスを離れて日付ピッカーから日付を選択するため、ぼかしイベントが実行されます。私のぼかしイベントには実行されるポストバックがありますが、日付ピッカーから日付を選択するときに実行したくないという問題があります。注:日付を選択すると、選択した日付から週を取得するコードが表示されるため、デフォルトの「日付ピッカー」機能ではありません。これは質問とは関係ありませんが、言及するのは良いことだと思いました。

これが可能であれば、私は答えに深く感謝します。私は誰でも次の解決策を考えていますが、試してみましたがうまくいきませんでした:ぼかしイベント内:

return false
return true 
4

2 に答える 2

1

プラグインを使用するときは、実際に変更に使用する可能性のあるものが含まれている可能性があるため、すべてのドキュメントを読むことをお勧めします。

jQuery datepicker について詳しく調べたところonClose、datepicker をクリックすると実行されるオプションがあることがわかりました。つまり、私が基本的に行ったことは、blur関数からコードを取得し、それをonClose関数 (オプション) と出来上がりに配置することでした。

コード:

        $('#calWeekF')
            .click(function () { this.select(); })
            .focus(function () { $('#calBtnShow').unbind('click', function () { $.overview.calendar.load() }); })  // De-activate button to prevent duplicate calls to loadCalendar
            .datepicker({
                showWeek: true,
                onSelect: function (date, object) {

                    $.MyProject.calendar.changeDate(new Date(date));

                    $.astra.calendar.changeWeek($("#" + object.id).val());
                    // Add some delay befor activating the button
                    $("#" + object.id).oneTime(200, 'calBtnShow', function () { $('#calBtnShow').click(function () { $.overview.calendar.load() }); });

                },
                onClose: function (date, object){
                    $.astra.calendar.changeWeek($("#" + object.id).val());
                    // Add some delay befor activating the button
                    $("#" + object.id).oneTime(200, 'calBtnShow', function () { $('#calBtnShow').click(function () { $.overview.calendar.load() }); });
                    }
            })
于 2013-10-21T07:51:13.530 に答える