2014-10-18 26 views
0

的Javascript上按鍵+號,我該如何找回它的Javascript上按鍵+號,我該如何找回它

目前,我得到了我下面的腳本輸入鍵

<script type="text/javascript"> 
$(document).ready(function() { 
$(function(){ 

    $("input[type=text]").keyup(function(e){ 

     if(e.keyCode == "13") 
     { 
      var nextIndex = $(this).prop('tabindex') + 1; 
      var selectedId = $(this).prop('id'); 
      var rowSplit = selectedId.split("_"); 
      var rowIn = rowSplit[1]; 

      if(selectedId.indexOf("big") > -1) 
      { 

      bigFunction(rowIn) 

      $('[tabindex=' + nextIndex + ']').focus(); 
      } 


    $("form :input").on("keypress", function(e) { 
    return e.keyCode != 13; 
    }); 


}); 
</script> 

我希望它因爲如果如

我有一個文本字段最大長度4

工作,我進入4隨機數,如1234,然後我按字母+符號,我想改變重點,未來的TabIndex

我該怎麼做,謝謝你的幫助!

+1

'e.keyCode === 43' – PHPglue 2014-10-18 22:23:28

+0

我試過了,如果我在num lock處使用+符號,如果我移動然後再按+符號,我該如何捕獲 – 2014-10-18 22:28:17

+0

'e.keyCode == = 13'是'enter',它也會默認提交一個表單。 – PHPglue 2014-10-18 22:43:25

回答

0

關鍵代碼是一個整數,您在第二次正確編寫它。但第一次使用"13"

if(e.keyCode == 13) 

可能會更好。另外+符號代碼是43(0x2B)。在JavaScript中,你也可以使用'+'.charCodeAt(0),雖然這個時間要長得多。

此外,當您按下回車鍵,默認的按鈕被觸發,除非你取消默認行爲,如:

e.preventDefault(); 
    e.stopPropagation(); 

取消了+的默認行爲也將有助於避免在+出現在輸入。

要在至少有4個字符(即數字)時觸發自動標籤功能,您需要檢查輸入框值的長度。大概是這樣使用jQuery:

if($(this).val().length >= 4) ... 

否則,它看起來像你已經得到大多數要求,但您的代碼示例目前缺少一個右括號(})的代碼,所以我也不太清楚我可以幫助修復代碼的方式。

0

我可能會這樣做。僅用於示例:

$('#element').keypress(function(){ 
    var v = $(this).val(); 
    if(v.charCodeAt(v.length-1) === 43){ 
    // + was pressed 
    } 
}); 
相關問題