我怎樣才能調用一個函數,只有在輸入字段中輸入整數值後纔會觸發? (因此,任何數量的0-9)如何在輸入字段中輸入整數值後調用一個函數?
Col <input type="text" value='tiledata.col' ng-model="tiledata.col" class="input-col" id="aeS-Col" ng-click="vm.setInputCol()">
我怎樣才能調用一個函數,只有在輸入字段中輸入整數值後纔會觸發? (因此,任何數量的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_事件。 –