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 に答える