使用JQuery捕获CTRL + S的最佳跨浏览器方法?

2022-08-30 01:59:11

我的用户希望能够点击 +来保存表单。有没有一种很好的跨浏览器方法来捕获+组合键并提交我的表单?CtrlSCtrlS

应用程序建立在Drupal上,因此jQuery可用。


答案 1

这适用于我(使用jquery)重载+,+和+:CtrlSCtrlFCtrlG

$(window).bind('keydown', function(event) {
    if (event.ctrlKey || event.metaKey) {
        switch (String.fromCharCode(event.which).toLowerCase()) {
        case 's':
            event.preventDefault();
            alert('ctrl-s');
            break;
        case 'f':
            event.preventDefault();
            alert('ctrl-f');
            break;
        case 'g':
            event.preventDefault();
            alert('ctrl-g');
            break;
        }
    }
});

答案 2
$(window).keypress(function(event) {
    if (!(event.which == 115 && event.ctrlKey) && !(event.which == 19)) return true;
    alert("Ctrl-S pressed");
    event.preventDefault();
    return false;
});

按键代码可能因浏览器而异,因此您可能需要检查的密钥代码是否超过 115。