我有一个简单的功能,除了提醒我有效性之外什么也没做什么:
function alertV(elem) {
alert("here");
alert(elem.checkValidity());
alert("really");
}
挂钩的代码:
var elements = document.forms["form"].getElementsByTagName("input");
for (i = 0; i < elements.length; i++) {
elements[i].onkeyup = function () { alertV(elements[i]) };
}
Here
显示正常,但checkValidity()
没有做任何事情,甚至导致really
调用被忽略。我错误地传递了这些论点吗?我基本上只想要这个,这有效:
<input type="text" onkeyup="alertV(this);">
答案 0 :(得分:1)
尝试使用闭包:
elements[i].onkeyup = (function (a)
{
return function ()
{
alertV(elements[a])
}
})(i);