如何在输入字段中输入整数值后调用一个函数?
问题描述:
我怎样才能调用一个函数,只有在输入字段中输入整数值后才会触发? (因此,任何数量的0-9)如何在输入字段中输入整数值后调用一个函数?
Col <input type="text" value='tiledata.col' ng-model="tiledata.col" class="input-col" id="aeS-Col" ng-click="vm.setInputCol()">
答
是......我们可以参考由
document.getElementById('aeS-Col').onkeydown = function(e){};
codepen网址做http://codepen.io/nagasai/pen/zBrLEj
答
好事件可以改变被解雇,但不依赖的值,但可以在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,则返回该方法。
答
由于您似乎正在使用角度,所以您也可以像这样检查。
$scope.vm.setInputCol = function(){
if(typeof $scope.tiledata.col === typeof 1)
{
alert("Do your stuff");
}
else
{
return;
};
};
答
.onkeypress()将是执行此操作的首选方法。 onkeypress vs onkeydown
从理论上讲,该keydown和KeyUp事件表示被按下或释放按键,而按键事件代表所键入的字符。理论的实现在所有浏览器中都不相同。
所以例如(jQuery中):
$("#aeS-Col").onkeypress(function(key)
{
if(key.test(/[0-9]/))
callSuperFunction();
}
请正确标记您的问题。如果你打算使用jQuery,你可以_filter_事件。 –