在javascript上动态添加的eventListener未完全工作
我的所有eventListeners工作都有问题。。。我需要:在javascript上动态添加的eventListener未完全工作,javascript,events,click,addeventlistener,Javascript,Events,Click,Addeventlistener,我的所有eventListeners工作都有问题。。。我需要: 为每个“标签”HTML标记单击一个“”(单击时将删除它们) 退格键上的一个“向下键”(它将从文档中删除最后一个“标签”) 两者都调用以一个元素作为参数的函数。在下面的代码中,向下键不起作用。。。有人能看到这个问题吗?? 谢谢 HTML: <div id="motscles"> <label class="motcle">pouet</label> <label class
- 为每个“标签”HTML标记单击一个“”(单击时将删除它们)
- 退格键上的一个“向下键”(它将从文档中删除最后一个“标签”)
<div id="motscles">
<label class="motcle">pouet</label>
<label class="motcle">youpi</label>
<label class="motcle">...</label>
<input class="inputMotsCles" id="motsclesInput" required="true" type="text">
</div>
撅嘴
优皮
...
JS:
var-motsclesList=document.getElementById('motscles');
var motsclesInput=document.getElementById('motsclesInput');
var motscle=document.queryselectoral('.motcle');
//关于键控
motsclesInput.ADDEVENTLISTER(“键控”,函数(e){
如果(e.which==8){//退格
Supplimemotcle(motsclesInput.previousElementSibling);
}
});
//单击一个“
对于(变量i=0;i
…正在返回一个函数,这肯定不是您想要获得的。请删除return语句,因为您不需要它
这将有助于:
// the function removes the element given in parameter
function supprimeMotCle(blocMotCle) {
blocMotCle.remove();
}
可能重复您所说的按键下处理程序不工作,但点击处理程序工作吗?在我看来,它不应该…
哪个是IE特有的。使用keyCode
var key=e.keyCode | e.which
我撤回了我的投票,但标记的答案仍然相关:)supplimemotle(MotscleInput.previousElementSibling)
不做任何事情,它返回一个函数。您是否打算提供函数(MotscleInput.previousElementSibling)(
?@A1rPun没有闭包问题,您标记的答案不相关。是的,它可以工作…但是(当然…:1)如果侦听器是使用:addEventListener创建的('click',function(){supprimeMotCle(this)}-->JS lint告诉我们不建议创建带有循环的函数…2)如果侦听器是如上所述创建的,则在创建时调用该函数,并删除我的初始标签块。。。
function supprimeMotCle(blocMotCle) {
return function () {
blocMotCle.remove();
};
}
// the function removes the element given in parameter
function supprimeMotCle(blocMotCle) {
blocMotCle.remove();
}