javascript - 如何用新的html替换元素内容而不丢失javascript功能?

标签 javascript jquery html

我正在尝试用新的 html 替换 $('#product_blocks') 的内容,同时保留类似元素 id 上的 jQuery 监听器事件。

var thenewhtml= '<div id="clickme">hello this text will be replace on click</div>';

$('#product_blocks').html(thenewhtml);

jquery 事件:

$( "#clickme" ).click(function() {

$("#clickme").html("yayImChanged");

});

但是我的问题是,一旦我用新的html替换#products_block,$("#clickme")就不起作用了..不会继续到新的html...这就是我想要解决的问题。

最佳答案

您可以使用 jQuery .on() 方法签名来定义事件处理程序,例如

$(document).on('click', '#userclickedhere', yourClickHandlerFunction);

jQuery .on() doc

更新的答案: 它仍然有效。

$(document).on('click', '#clickme', function(e) {
  $(this).html("yayImChanged");
});

Here is a CodePen demo

关于javascript - 如何用新的html替换元素内容而不丢失javascript功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55253938/

相关文章:

javascript - 使用javascript从github页面服务器读取Json文件

javascript - 如何防止使用 Parsleyjs 从 DOM 中删除表单验证错误

php - 通过 jQuery 发布会产生未定义的字符

jquery - 使用 jQuery 指定 LI 的宽度时的幻像高度

php - Twitter 在 Modal 中的 bootstrap Form

javascript - 使用 JavaScript 遍历表格以获取特定单元格的值

javascript - 排序数组,优先排序一些项目

javascript - Rhino 中的优化级别

javascript - 防止 BACKSPACE 使用 jQuery 向后导航(如 Google 的主页)

html - 使元素成为父元素的 100% 高度