如何调用在输入字段中输入整数值后触发的函数?

时间:2016-06-10 15:44:55

标签: javascript jquery

如何调用仅在输入字段中输入整数值后触发的函数? (所以任何数字0-9)

Col <input type="text" value='tiledata.col' ng-model="tiledata.col" class="input-col" id="aeS-Col" ng-click="vm.setInputCol()">

4 个答案:

答案 0 :(得分:0)

是的..我们可以做到

       document.getElementById('aeS-Col').onkeydown = function(e){};

codepen url供参考http://codepen.io/nagasai/pen/zBrLEj

答案 1 :(得分:0)

Well事件可以在更改时触发,但不依赖于值,但您可以在onchange事件处理函数中检查以检查输入的字符:

element.addEventListener("keydown", function(event) {
    var character = keysight(event).char
    //Check if this is a number (eg: using regex)
    //Call function required.
}

在你的代码中将ng-click更改为ng-click=vm.setInputCol(event),然后在函数中执行上面的检查,如果不是则返回true是一种方法。

答案 2 :(得分:0)

由于您似乎正在使用角度,因此您也可以像这样检查。

$scope.vm.setInputCol = function(){

      if(typeof $scope.tiledata.col === typeof 1)
      {
        alert("Do your stuff");
      }
      else
      {
        return;
      };
    };

答案 3 :(得分:0)

.onkeypress()将是执行此操作的首选方法。 onkeypress vs onkeydown

  

理论上,keydown和keyup事件表示按下或释放的键,而keypress事件表示正在键入的字符。在所有浏览器中,该理论的实现并不相同。

所以示例(在jQuery中):

$( "#aeS-Col" ).onkeypress( function( key )
{
    if( key.test( /[0-9]/ ) )
        callSuperFunction();
}