将onclick事件添加到模板

杰基

我有无法将事件onclick添加到我的元素的问题。如果我这样称呼它:

<td onclick="${console.log('bam')}">X</td>

事件被立即调用,因此我假设如果这样做,则:

<td onclick="${() => console.log('bam')}">X</td>

单击后可以使用,但是不幸的是,使用这样的代码它根本无法使用。有人知道如何解决吗?哦,我希望在没有jQuery的情况下实现它。整个代码:

this.device.error_log.map((el, i) => {
            if (el.message.component == "displays") {
                return (result += `
            <tr error_id="${i}">
             <td>
                ${this.device.error_log[i].message.component}
             </td>
             <td>
                ${this.device.error_log[i].message.info}
             </td>
             <button onclick="${() => console.log('bam)}">
                X
             </button>
            </tr>`);
            }
        });
    this.error_table.innerHTML += result
一定的表现

通常的想法是在函数内部创建元素,为它们分配事件处理程序,然后将它们附加到表中:

this.device.error_log.forEach((el, i) => {
  if (el.message.component == "displays") {
    const tr = document.createElement('tr');
    tr.setAttribute('error_id', i);
    tr.innerHTML = `
             <td>
                ${this.device.error_log[i].message.component}
             </td>
             <td>
                ${this.device.error_log[i].message.info}
             </td>
             <button>
                X
             </button>`;
    tr.querySelector('button').onclick = () => this.bam();
    this.error_table.appendChild(tr);
  }
});

请注意,仅.map在需要创建新阵列时才应使用在这里,您想要执行副作用(更改DOM),因此应该使用它.forEach

尽管可以改变周围的内容以使用内联处理程序,但内联处理程序通常被认为是非常差的做法-它们会导致脆弱的代码,需要全局污染,存在字符串转义问题,具有范围确定问题并且很奇怪with机制等等。最好显式附加侦听器。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将onClick事件添加到append()

来自分类Dev

将onclick添加到元素,但保持当前的onclick事件

来自分类Dev

将jQuery UI事件添加到流星模板

来自分类Dev

将jQuery UI事件添加到流星模板

来自分类Dev

如何使用JavaScript将onclick事件添加到元素

来自分类Dev

将动态变量添加到onclick事件

来自分类Dev

将onClick事件添加到zabuto日历

来自分类Dev

如何将onclick事件添加到Wordpress菜单

来自分类Dev

将onclick事件添加到img id

来自分类Dev

将动态变量添加到onclick事件

来自分类Dev

使用jQuery将“ onClick”事件添加到动态div

来自分类Dev

将onclick事件添加到循环中的各个div

来自分类Dev

HighCharts堆积的列,将Onclick事件添加到图表

来自分类Dev

使用 jQuery 将 onclick 事件添加到链接

来自分类Dev

将 onclick 事件添加到带有 onclick 事件的按钮的按钮上?

来自分类Dev

使用Handlebar.js模板将onclick事件侦听器添加到多个按钮中,只有最后一个有效

来自分类Dev

将模板添加到输入字段

来自分类Dev

编译后如何将事件侦听器添加到Handlebars模板?

来自分类Dev

将jQuery click事件添加到KendoUI网格列模板中的按钮

来自分类Dev

如何将事件侦听器添加到模板字符串

来自分类Dev

将事件添加到CalendarView

来自分类Dev

将Postbuild事件添加到项目

来自分类Dev

将点击事件添加到矩形?

来自分类Dev

jQuery将事件添加到星级

来自分类Dev

将事件添加到html元素

来自分类Dev

将触摸事件添加到GroupObject

来自分类Dev

将 onClick 添加到列表视图?

来自分类Dev

使用jQuery将onclick事件添加到音频时间轴

来自分类Dev

如何将onclick事件添加到joint.js元素?

Related 相关文章

热门标签

归档