写入调用javascript函数的html的javascript函数

时间:2013-12-18 21:58:43

标签: javascript jquery html

所以在下面的代码中我让javascript写表的contense但由于某种原因,由于以这种方式生成的表体,onchange函数将不会被调用?不知道为什么或任何解决方案来解决这个问题。

    var table = document.getElementById("tableOfTitles");
table.innerHTML = "<tr id='addrow'><td colspan='3'><input type='button' value='+' onclick='addRow()'/><select id='rowType' onchange='addRowDropDownChanged()'>";

网页的所有代码 - http://pastebin.com/ywvFywdz

1 个答案:

答案 0 :(得分:0)

尝试使用此代替内联javascript:

$("#tableOfTitles").on("change", "tr select", function(e) {
    addRowDropDownChanged();
    // Do other stuff here...
});

这会向#tableOfTitles添加一个事件处理程序,当javascript代码被执行时(页面加载时)已经存在。每当其中的tr select元素发生更改时,就会触发该事件。

事件处理程序只能注册一次。因此,如果您将一个事件处理程序添加到一个尚未存在的元素(或之后添加一个处理程序),那么该事件处理程序将不会被触发。您可以通过简单地将此事件添加到已存在的父元素(在您的情况下是#tableOfTitles)来避免这种情况。