1

これがうまくいかないために私はひどく愚かなことをしていると確信していますが、シフトイベントを起動させることはできません。私は両方を試しました:

$('.ShowCannedReport_UserFilterDropdown').each(function (index, element) {
        $(element).bind('click', function (event) {
        if (!event.shiftKey && !event.ctrlKey) {
        ShowCannedReport_UserFilter_Blur(this, event);
        }
        else {
        ShowCannedReport_UserFilterWithShiftHeld = this;
        }
 });

と:

$('.ShowCannedReport_UserFilterDropdown').each(function (index, element) {
        $(element).click(function (event) {
            if (!event.shiftKey && !event.ctrlKey) {
                ShowCannedReport_UserFilter_Blur(this, event);
            }
            else {
                ShowCannedReport_UserFilterWithShiftHeld = this;
            }
        });
    });

これらは両方とも、event.shiftkeyを未定義として表示します。私が間違っていることについて何か考えはありますか?

ShowCannedReport_UserFilterDropdownは複数選択ドロップダウンであり、クリックイベントは両方のバージョンで発生しますが、shiftkeyイベントは登録されません。

4

1 に答える 1

1

最初のセレクターが機能していることを確認できますか?すなわち:

$('.ShowCannedReport_UserFilterDropdown').length; //is this >0 ?

ドキュメントレディイベントハンドラー内のコードはありますか?

私はあなたが達成しようとしていることを模倣するjsFiddleをセットアップしました、そしてすべてがうまくいきます:http: //jsfiddle.net/xT4ke/

また、jQueryがそれを行うのに、なぜ各アイテムを反復処理するのですか。これで十分です。

$('.ShowCannedReport_UserFilterDropdown').click(function (event) {
        if (!event.shiftKey && !event.ctrlKey) {
            ShowCannedReport_UserFilter_Blur(this, event);
        }
        else {
            ShowCannedReport_UserFilterWithShiftHeld = this;
        }
    });
});
于 2010-08-26T09:50:13.093 に答える