包含javascript的附加HTML无法运行,如何让它运行?

fms*_*msf 8 html javascript dom dom-manipulation

我正在附加一些包含javascript的HTML.

<td onclick="toggleDay('+data+',this,\'tue\');">T</td>
Run Code Online (Sandbox Code Playgroud)

<img src="img/cross.png" onclick="deleteAlarm('+data+');">
Run Code Online (Sandbox Code Playgroud)

这两段代码都包含在我附加的大量HTML中.

如果页面加载时它们已经存在,它们可以正常工作,但是当我附加时它们不能工作.

你建议我做什么?是否需要一些排序请求让DOM在追加后重新解释JavaScript或?

编辑:

还有一些信息,我遇到了这个问题,因为我在数据库中添加了一些AJAX的东西,并且在成功时我将html附加到它需要的位置.有点像SO对评论的做法.

EDIT2:

即使有关于它的所有讨论,感谢答案,让它工作.

Mar*_*iek 4

我会这样做:

首先将 id 属性添加到您的 html 中:

<td id="toggleDayCell">T</td>

<img src="img/cross.png" id="crossImg">
Run Code Online (Sandbox Code Playgroud)

然后让 Javascript 在页面的 onload 事件上运行并附加到您感兴趣的事件。

PrototypeJS中,它可能看起来像这样:

Event.observe(window, 'load', function(){
  if( $('toggleDayCell') ) {
    Event.observe( $('toggleDayCell'), 'click', function(event){
      //do stuff here
    }
  }

  if( $('crossImg') ) {
    Event.observe( $('crossImg'), 'click', function(event) {
       //do stuff here
    }
  }
});
Run Code Online (Sandbox Code Playgroud)

使用 Prototype(或 jQuery)之类的东西很好,因为它可以照顾跨浏览器兼容性。