2016-12-25 16 views
5

入力タイプ番号があります。 Enterキーを押したときに関数を呼び出す方法を知っています。入力、入力タイプ番号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

Up/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 "'と異なる識別子 'new_num_1'と' new_num_2'の両方を与えることができますか? – ab29007

関連する問題