javascript - 解析外部 html 时不会触发 Click 事件

标签 javascript jquery html

我有一个项目,需要从外部文件加载 html 并将其添加到现有的 div 元素中。 它工作得很好,只是当点击生成的 html 中所需的图标时,.click() 事件永远不会触发。

加载 html 的代码:

$.each(data, function (index, review) {
    let html = $.parseHTML($.trim(review));

    $(html).appendTo($items);
});

加载的 html 的根元素是一个名为“lc- rating-wrap”的类。

点击时不触发的js:

$(".lc-rating-wrap > .vote-wrap > .do-vote-wrap > .icon").click(function () {
    //doStuff
});

我猜这与我加载js文件时元素不存在有关? 我是否正确使用了parseHTML()

最佳答案

您的内容是动态的,但您的事件仅绑定(bind)到现有元素。将其更改为 $(static).on(event,dynamic,callback):

$(document).on('click', ".lc-rating-wrap > .vote-wrap > .do-vote-wrap > .icon", function () {
    //doStuff
});

关于javascript - 解析外部 html 时不会触发 Click 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47161046/

相关文章:

html - 容器内的可滚动div

java - uri : http://java. sun.com/jsp/jSTL/core 无法在 web.xml 或使用此应用程序部署的 jar 文件中解析

javascript - Chrome扩展程序内容脚本不适用于gmail

javascript - 如何恢复已删除的谷歌地图标记

javascript - 是否可以使用Jquery的每个函数获取表行的父行和子行?

javascript - 用 jQuery 模拟一个物体摔倒

javascript - 使用jquery添加两个变量

javascript - 保留悬停在链接上的效果

javascript - 如何在点击时使用初始 useState 值

javascript - 通过推送变量创建对象数组?