如何调用仅在输入字段中输入整数值后触发的函数? (所以任何数字0-9)
Col <input type="text" value='tiledata.col' ng-model="tiledata.col" class="input-col" id="aeS-Col" ng-click="vm.setInputCol()">
答案 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();
}