14

以前の質問の例の 1 つを使用すると、次のようになります。

$(window).keypress(function(event) {
    if (!(event.which == 115 && event.ctrlKey) && !(event.which == 19)) return true;
    $("form input[name=save]").click();
    event.preventDefault();
    return false;
});

これを Mac の cmd キーで動作するように変更することもできますか?

私は試し(!(event.which == 115 && (event.cmdKey || event.ctrlKey)) && !(event.which == 19))ましたが、これはうまくいきませんでした。

4

3 に答える 3

25

Command キーを検出するには、 event.metaKeyを使用します。

$(document).keypress(function(event) {
    if (event.which == 115 && (event.ctrlKey||event.metaKey)|| (event.which == 19)) {
        event.preventDefault();
        // do stuff
        return false;
    }
    return true;
});
于 2012-10-12T04:53:54.087 に答える
4

ctrl+sとを検出するにcmd+sは、次の方法を使用できます。

作業中のjsFiddle。

jQuery:

var isCtrl = false;
$(document).keyup(function (e) {
 if(e.which == 17) isCtrl=false;
}).keydown(function (e) {
    if(e.which == 17) isCtrl=true;
    if(e.which == 83 && isCtrl == true) {
        alert('you pressed ctrl+s');
    return false;
 }
});

ソース (すべてのキーボード ショートカットとボタンを含む)

于 2012-07-16T10:19:32.660 に答える