$(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