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 回答