javascript - 使用javascript动态绑定(bind)onclick事件

标签 javascript html

我有下面的JS代码

for(var i=0;i<resultData.length;i++) {
    var id = "" + counter + "_" + resultData[i].id;
    var action = resultData[i].action;
    str += "<li id=" + id + "><div id=div_" + id + "><img src='assets/img/plus.png' id='img_" + id + "' onclick=getSubDirs('" + id +"', '" + action +"') /><label id=label_"+ id +" onclick=clickedDir('"+ id + "')>"+ resultData[i].label + "</label>" +"<span style='display:none' id=path_"+ id +">"+ resultData[i].path +"</span></div></li>";
    counter++;
}

上面的代码生成了一个动态列表,我将它添加到 ul

<li id="id_1_abc">
    <div id="div_id_1_abc">
        <img src="assets/img/plus.png" id="img_id_1_abc" onclick="getSubDirs('id_1_abc'," 'job')="">
        <label id="label_id_1_abc" onclick="clickedDir('id_1_abc')">abc</label>
        <span style="display:none" id="path_id_1_abc">/abc</span>
   </div>
</li>

以上是生成的列表。但是我的 onlick 更改为 onclick="getSubDirs('id_1_abc',"'job')=""

最佳答案

使用反引号将使这种方式更具可读性。 您的问题是您需要将 onclick 处理程序用引号引起来:

str += `<li id="${id}"><div id="div_${id}"><img src='assets/img/plus.png' id="img_${id}" onclick="getSubDirs('${id}', '${action}') />...`

关于javascript - 使用javascript动态绑定(bind)onclick事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53001674/

相关文章:

javascript - 如何检查一个 HTML 元素是否包含另一个元素?

html - div 悬停时横向摇晃(仅限 CSS3)

Javascript:当用户在浏览器中单击后退按钮时,使 div 保持显示状态 ='block'

javascript - ExtJs 检查表单值是否已更改

javascript - 按钮在 Chrome 中的位置不正确

html - 为什么 flex 元素不缩小过去的内容大小?

javascript - 执行 POST ajax 时出现 404(Not Found)

javascript - 如何计算工资中的税

html - 如何在避免 GUID 的同时防止我的 HTML 被利用?

html - 如何根据其父元素定位工具提示?