0
function PrepareCounter() {
    var ct = 1;
    while(document.getElementById("id_answer"+ct)) {
        document.getElementById("id_answer"+ct).setAttribute("onFocus", "countChars('textbox','char_count',140)", "onKeyDown", "countChars('textbox','char_count',140)", "onKeyUp", "countChars('textbox','char_count',140)");
        ct += 1;
    }
}

フォーカスすると要素countCharsは実行されますが、何かを書くと実行されません。

4

1 に答える 1

2

setAttribute引数は2つだけなので、それぞれを個別に呼び出す必要があります。

文字列を使用する代わりに、実際の関数を使用できます。

function PrepareCounter() {
    var ct = 1;
    var elem;
    while (elem = document.getElementById("id_answer" + ct)) {
        elem.onfocus = elem.onkeydown = elem.onkeyup = function() {
            countChars('textbox', 'char_count', 140);
        };
        ct += 1;
    }
}
于 2013-02-07T12:07:45.397 に答える