1

class="modal" にある div があり、「esc」を押すとこの div を閉じる関数を jQuery で作成しました。

$(document).keypress(function (e) {
    if (e.keyCode == 27) {
        if ($('.modal:visible > .icon32').length) $('.modal:visible > .icon32')[0].click();
    }
}); 

Firefox ではすべてが完璧に機能しますが、Chrome では機能しません。この問題の原因は何ですか?

4

1 に答える 1

2

キープレスにもIEの問題があることを確認しました。代わりにkeydownイベントを使用してください。keydownイベントは、キーが押されたときに発生します。その直後にキー押下イベントが発生します。キーを離すと、キーアップイベントが発生します。

$(document).keydown(function (e) {
    if (e.keyCode == 27) {
        if ($('.modal:visible > .icon32').length) $('.modal:visible > .icon32')[0].click();
    }
});
于 2013-02-05T14:42:03.313 に答える