Jquery Ctrl + Enter 提交表单

评论(2)

在做新主题的时候想加一个 Ctrl + Eenter 提交评论的功能,总记得之前写过这样的脚本,要用到cilick()这个函数,但这次下手写的时候,我无耻的百度了一下,并且度娘给了我一个迷惑的答案,网上的错误代码我就不写了,以免蛊惑大众,有一些排名很高的竟然连$符号都给成¥,我这个汗呀!

代码如下:

$('body').keypress(function(e){
	if(e.ctrlKey && e.which == 13 || e.which == 10) {
		$('#submit').click();
	}
});

简明阐述:

  1. $(‘body’) 是表明焦点在哪里的时候 Ctrl + Eenter 提交表单才有用
  2. .keypress()是绑定按键按下事件
  3. if(e.ctrlKey && e.which == 13 || e.which == 10)这句很简单,就是检测你是不是按下了 Ctrl 和回车(e.which == 13大键盘区回车 、e.which == 10 小键盘区回车 )
  4. $(‘#submit’).click();按下按钮

补充

因为我整个页面只有一个地方需要用到Ctrl + Eenter 提交表单,所以我就直接绑定到了body 像这样$(‘body’),如果你需要在一个页面分别使用,那就需要绑定到具体的表单,
因为表单我们一般都会设置id或name所以在这里推荐两个选择器
$(‘form[name=formcomment]’) [name值为 formcomment 的表单]
$(‘form[id=comment]’) [id值为 comment 的表单]
那,为什么要有这样一个功能?这要从QQ说起,貌似是QQ发明了 Ctrl + Eenter 提交这个方法吧,同效的还有 Ctrl + S。





转载请注明转自: Jquery Ctrl + Enter 提交表单

  1. 搜索到这一篇,先测试一下提交

  2. 学习了,多谢