$(function(){
$('.inviteClass').keypress(function() {
if(event.keyCode=='13') {
doPost();
}
});
这里我有一个小要求。按键盘输入提交表单,它在FireFox和Chrome以及IE 7和8中运行正常,但它在IE9和IE 10中不起作用。
请帮帮我。
答案 0 :(得分:8)
注意事项:
window
.on()
功能.which
属性。请参阅jQuery documentation return false;
以阻止事件冒泡到表单(并可能提交表单两次)。请参阅Submitting a form on 'Enter' with jQuery? 最终代码:
$(function() {
$(window).on('keydown', function(event) {
if(event.which == 13) {
doPost();
return false;
}
});
});
答案 1 :(得分:1)
试
$('.inviteClass').keypress(function (e) {
c = e.which ? e.which : e.keyCode;
if (c == 13) {
doPost();
e.preventDefault();
return false; //<---- Add this line
}
});
答案 2 :(得分:0)
你必须使用jQuery的event.which,也将'13'更改为13(也没有结束括号):
$(function(){
$('.inviteClass').keypress(function(event) {
if(event.which == 13) {
doPost();
}
});
});
答案 3 :(得分:-1)
请尝试使用keydown事件,并在函数中传递事件对象
$(function(){$('.inviteClass').keydown(function(event){if(event.keyCode=='13'){doPost();}});
或
$(function(){$('.inviteClass').keypress(function(event){if(event.keyCode=='13'){doPost();}});
希望这会对你有所帮助
由于