2009-12-04 63 views
6

我想要麼簡單地吞下輸入鍵按<input>字段,要麼替代標籤鍵按下。我還沒有決定哪個最好。如何防止在jQuery中輸入密鑰提交?

我該如何在jQuery中做到這一點?我得到這個至今:

$(document).ready(function(){ 
    ... 
    //handle enter key 
    $("input").keypress(function (e) { 
     var k = e.keyCode || e.which; 
     if (k == 13) { 
      //??? 
     } 
    }); 
}); 

(即e.keyCode || e.which部分在this question建議。)

什麼可能我放在那裏,或者(a)取消該事件或別的(二)強制Tab鍵按下?

回答

14

使用e.preventDefault()可以防止默認操作,在這種情況下,它將提交表單。

7

或者return false;

$(document).ready(function(){ 
    ... 
    //handle enter key 
    $("input").keypress(function (e) { 
     var k = e.keyCode || e.which; 
     if (k == 13) { 
      return false; // !!! 
     } 
    }); 
}); 
2

另外,如果你想只是模仿到下一個控制標籤,正如你所說,你可以嘗試this method by jdsharp

$(document).ready(function(){ 
... 
//handle enter key 
$("input").keypress(function (e) { 
    var k = e.keyCode || e.which; 
     if (k == 13) { 
      $(this).focusNextInputField(); 
     } 
    }); 
});