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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (61)

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

应用程序建立在Drupal上,所以jQuery可用。

提问于
用户回答回答于
$(window).keypress(function(event) {
    if (!(event.which == 115 && event.ctrlKey) && !(event.which == 19)) return true;
    alert("Ctrl-S pressed");
    event.preventDefault();
    return false;
});
用户回答回答于

这适用于我(使用jquery)来重载Ctrl+ S,Ctrl+ F和Ctrl+ G:

$(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;
        }
    }
});

扫码关注云+社区