javascript - 包含 javascript 的附加 HTML 无法运行,我怎样才能让它运行?

标签 javascript html dom dom-manipulation

我正在附加一些包含 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/

相关文章:

html - 使用 AWS 策略显示来自 S3 的图像的 Web 应用程序

javascript - 在元素加载之前更改 CSS

PHP 简单 HTML DOM 解析器 : make it loop until no error

javascript - 删除属性

javascript - 如何使用 TestCafe 对所有测试进行身份验证

javascript - Angularjs 指令的元素位于嵌入内容的中间

javascript - 使必填字段提示出现在 onclick=confirm() 提示之前

javascript - 如何将元素数组转换为 NodeList?

javascript - Gradient to <td> cell according to percentage??百分比是由一些数组值计算出来的

javascript - 如何查看有关服务器发送事件的错误?