2016-12-25 80 views
5

上輸入onChange事件我有一個輸入類型編號。我知道如何在按下輸入鍵時調用一個函數。在輸入類型編號

請看看我的代碼:

<input type="number" class="new_num" value="0"> 
<input type="number" class="new_num_2" value="0"> 

<script> 
    $('.new_num').bind("enterKey",function(e) { 
     alert($(".new_num").val()); 
    }); 

    $('.new_num').keyup(function(e){ 
     if(e.keyCode == 13) 
     { 
      $(this).trigger("enterKey"); 
     } 
    }); 
</script> 

現在我需要提醒值,當用戶只要點擊數的頂部或向下的箭頭。我寫了這個代碼,但它不起作用:

$('.new_num').bind('keyup input', function(){ 
    $(this).trigger("enterKey"); 
}); 

請幫忙。

另外我需要爲new_num_2做同樣的操作。 我是否需要複製代碼?

如果用戶使用移動設備,需要寫什麼代碼?

+0

也請分享html和境界清楚什麼是你遊戲結束與該代碼 – ab29007

+0

我已經提供的HTML。請檢查 。 –

+0

上/ Dtown鍵看起來是'40'和'38'。在手機上應該是一樣的(從未在移動設備上測試過任何東西)。只需將其他選擇器添加到'$(...)'調用 – Jhecht

回答

3

本示例記錄控制檯中當前焦點輸入的值。我給了他們兩個相同的class=new_num_2,並用它來選擇它們。這樣您就不需要複製代碼並對new_num_2執行相同的操作。

對於手機,我認爲你應該在輸入後輸入button,並將該功能綁定到按鈕上。

$('.new_num').on("focus", printValue); 
 

 
var printValue = function (inp){ 
 
    $(inp).bind("enterKey",function(e) { 
 
    console.log($(this).val()); 
 
    }); 
 
} 
 

 
$('.new_num').keyup(function(e){ 
 
    if(e.keyCode == 13){ 
 
    printValue(this); 
 
    $(this).trigger("enterKey"); 
 
    $(this).unbind("enterKey"); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="number" class="new_num" id="new_num_1" value="0"> 
 
<input type="number" class="new_num" id="new_num_2" value="0">

+0

我無法使用輸入,我只能使用.new_num,.new_num_2。所以我需要重複代碼? –

+0

對不起,我沒有完全理解。爲什麼不能使用輸入。 – ab29007

+0

好吧。你可以給他們兩個相同的'class =「new_num」'和不同的id'new_num_1'' new_num_2'。 – ab29007