繁体   English   中英

Javascript insertAdjacentHTML 带有 onclick 事件的标签

[英]Javascript insertAdjacentHTML a tag with an onclick event

当一个复选框被选中时,我插入一个新的标签来显示选中的内容。 我向该标签添加了一个 onclick 事件,但是当我出于某种原因点击它时,它给了我一个错误,即找不到该函数。

 const removeItem = (e) => { e.preventDefault(); e.target.remove(); } document.querySelectorAll('.choose').forEach(choose => { choose.addEventListener('change', (e) => { if (e.target.checked) { document.getElementById('selected').insertAdjacentHTML( "beforeend", `<a id="chosen-${e.target.id}" href="" onclick="removeItem()">${e.target.value}<i class="icon-close"></i></a>` ); } else { console.log('remove') } // document.getElementById('selected').querySelect('selectedItem').remove(); }) })
 <label> <input value="Value 1" id="1" class="choose" type="checkbox" data-np-invisible="1" data-np-checked="0" /> Add Value 1 </label> <div id="selected"></div>

我在代码片段中对其进行了测试,看起来e是未定义的。 您需要在此处将event传递给removeItem函数:

`<a id="chosen-${e.target.id}" href="" onclick="removeItem(event)">${e.target.value}<i class="icon-close"></i></a>`

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM