我有一堆HTML编号输入,我已经抓住它们
x=document.querySelectorAll('input[type="number"]');
然后尝试使用for循环迭代这个,并应用onkeyup函数。功能如下:
t=function(elem){
elem.onkeyup=function(e) {
if(!/[\d\.]/.test(String.fromCharCode(e.which))) {
elem.value='';
}
};
};
基本上,如果输入了一个字母,它的作用就是清楚输入的值。我知道我可以通过HTML应用它
<input type='number' onkeyup='t(this)'/>
但我怎么能用javascript做到这一点?我尝试用
迭代它x=document.querySelectorAll('input[type="number"]');
for(i=0; i<x.length; i++){
x[i].onkeyup=t(this);
}
但它不起作用。我究竟做错了什么?我怎样才能做到这一点?请定期JavaScript答案,不要使用jQuery或其他框架/库。
答案 0 :(得分:1)
变化
x[i].onkeyup=t(this);
到
x[i].onkeyup=t(x[i]);
因为this
不是您想要的
答案 1 :(得分:0)
道歉,全部。我找到了答案。同意Jaromanda X,我需要改变
0.10-SNAPSHOT
到
x[i].onkeyup=t(this);
这(双关语;)是问题的一部分,但主要问题是有效的属性名称是
x[i].onkeyup=t(x[i]);
而不是
keyup=function();