2016-12-25 86 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