为什么我的javascript onchange功能没有被调用?

时间:2017-05-30 14:18:02

标签: javascript

我有一个动态生成的html,它有多个输入元素,有一个像这样的onchange函数:onchange=adStGroup();。在我的HTML中,我创建了一个像这样的javascript函数:

function adStGroup(jsObj){
    console.log(jsObj.name);
}

如果我转到开发人员工具,请将函数更改为:onchange=adStGroup(this);并在input元素中进行一些更改,将记录元素的名称。 但是由于动态html不包含this参数,因此,在window onload上,我将删除默认的onchange并添加另一个onchange,如下所示:

for(var i=0;i<document.getElementById("f5erz").getElementsByTagName('input').length;i++){
        document.getElementById("f5erz").getElementsByTagName('input')[i].removeAttribute('onchange');
        document.getElementById("f5erz").getElementsByTagName('input')[i].setAttribute('onchange','javascript:adStGroup(this);');
}

现在动态生成的html输入元素包含this参数,但是如果我对输入元素进行任何更改,则不会调用相应的方法。 为什么这样?

如何将此引用传递给此类动态生成的输入元素?

注意:我使用模拟为5的IE文档模式,因为该应用仅适用于此版本。

0 个答案:

没有答案