0

我有一个简单的函数,它基本上什么都不做,只是提醒我有效性:

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);">

4

1 回答 1

1

尝试使用闭包:

elements[i].onkeyup = (function (a)
{
    return function ()
    {
        alertV(elements[a])
    }
})(i);
于 2013-09-10T15:24:18.223 回答