整理记录,js多按键组合提交表单

2018-10-18T15:11:00

最近的项目有个这样的需求,就是希望通过快捷键的方式提交文本框中的数据,因为如果直接获取Enter键会导致换行变得很麻烦,所以决定采用Ctrl+Enter的组合键形式进行提交。查阅了资料之后发现确实很简单,但网上带偏的资料也很多,甚至还有人提出监听两个按键按下的时间差,代码写得一大堆效果还不好。
所以,还是整理一下吧,首先需要知道各个按键的键码keyCode。

具体的百度就行,但是值得注意的是这三个按键,是可以属于event的属性:

Ctrl键:ctrlKey
Alt键:altKey
Shift键:shiftKey 

那么我设置Ctrl+Enter提交表单就可以这样写:

$(document).keydown(function(e){  //用户在键盘按下按键的监听
    if(!e){
        e=window.event;  //定义event
        }
        if(e.ctrlKey && e.keyCode == 13){  //判断Ctrl和Enter键的按下
            $("#tochat").click();  //给id为tochat执行点击
        
    }
});

html的代码就只需要注意那个提交按钮:

<button type="button" id="tochat">发送</button>

注意按钮的类型不是submit,并且提交方式最好是绑定一些onclick事件。

当前页面是本站的「Baidu MIP」版。发表评论请点击:完整版 »