我正在附加一些包含 javascript 的 HTML。
<td onclick="toggleDay('+data+',this,\'tue\');">T</td>
和
<img src="img/cross.png" onclick="deleteAlarm('+data+');">
这两段代码在我附加的大量 HTML 中。
如果它们在页面加载时已经存在但在我附加时不存在,则它们工作正常。
你建议我做什么?是否需要某种排序请求让 DOM 在附加或之后重新解释 JavaScript?
编辑:
更多信息,我遇到了这个问题,因为我正在使用 AJAX 添加一些东西到数据库,成功后我将 html 附加到它需要的位置。有点像 SO 处理评论的方式。
编辑2:
尽管有所有关于它的讨论,但感谢您的回答,让它工作。
最佳答案
我会这样做:
首先将 id 属性添加到您的 html 中:
<td id="toggleDayCell">T</td>
<img src="img/cross.png" id="crossImg">
然后让 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
}
}
});
使用 Prototype(或 jQuery)之类的东西很好,因为它可以处理跨浏览器的兼容性。
关于javascript - 包含 javascript 的附加 HTML 无法运行,我怎样才能让它运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/608034/