$(function(){
$('.inviteClass').keypress(function() {
if(event.keyCode=='13') {
doPost();
}
});
这里我有一个小小的需求。按键盘输入提交表单,它工作在Firefox和Chrome,以及IE 7和8很好,但它不是在IE9工作和IE 10“Enter”按键提交表单在IE中不工作9/10
请帮助我。
$(function(){
$('.inviteClass').keypress(function() {
if(event.keyCode=='13') {
doPost();
}
});
这里我有一个小小的需求。按键盘输入提交表单,它工作在Firefox和Chrome,以及IE 7和8很好,但它不是在IE9工作和IE 10“Enter”按键提交表单在IE中不工作9/10
请帮助我。
注意要点:
window
.on()
功能.which
财产。见jQuery的documentationreturn false;
到冒泡的形式(也可能提交表单两次)停止该事件。见Submitting a form on 'Enter' with jQuery?最终代码:
$(function() {
$(window).on('keydown', function(event) {
if(event.which == 13) {
doPost();
return false;
}
});
});
工作正常......非常感谢...... !!! – Rajasekhar 2013-02-14 14:05:40
'keypress'函数是'.on(“keypress”,handler)'的快捷方式,所以点'3'是无效的。另请参阅:https://api.jquery.com/keypress/。 – 2016-09-22 09:14:09
请尽量使用keydown事件并传递事件对象中的函数类似这样的
$(function(){$('.inviteClass').keydown(function(event){if(event.keyCode=='13'){doPost();}});
或
$(function(){$('.inviteClass').keypress(function(event){if(event.keyCode=='13'){doPost();}});
希望这将帮助你
感谢
尝试
$('.inviteClass').keypress(function (e) {
c = e.which ? e.which : e.keyCode;
if (c == 13) {
doPost();
e.preventDefault();
return false; //<---- Add this line
}
});
必须使用jQuery的event.which,也改变 '13' 至13(右括号也丢失):
$(function(){
$('.inviteClass').keypress(function(event) {
if(event.which == 13) {
doPost();
}
});
});
你的代码是错误的。最后一个右括号应该是'});'而不仅仅是'}'。 – 2013-02-14 05:56:52
谢谢!我纠正了它 – alijsh 2013-02-14 06:01:54
在IE中,jQuery将触发的keydown(),而不是按键()的箭头键,因为他们被认为是 '特别' 键。 – sasi 2013-02-14 05:44:01
可能重复:HTTP://stackoverflow.com/questions/1427912/in-ie8-enter-key-in-a-form-does-not-work和http://stackoverflow.com/questions/3546140/enter-不提交表单即因隐藏按钮 – depz123 2013-02-14 05:44:10
@ user1463541否定。这个问题是关于通过捕获“enter”键事件来提交表单的。 – 2013-02-14 06:01:50