Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript上动态添加的eventListener未完全工作_Javascript_Events_Click_Addeventlistener - Fatal编程技术网

在javascript上动态添加的eventListener未完全工作

在javascript上动态添加的eventListener未完全工作,javascript,events,click,addeventlistener,Javascript,Events,Click,Addeventlistener,我的所有eventListeners工作都有问题。。。我需要: 为每个“标签”HTML标记单击一个“”(单击时将删除它们) 退格键上的一个“向下键”(它将从文档中删除最后一个“标签”) 两者都调用以一个元素作为参数的函数。在下面的代码中,向下键不起作用。。。有人能看到这个问题吗?? 谢谢 HTML: <div id="motscles"> <label class="motcle">pouet</label> <label class

我的所有eventListeners工作都有问题。。。我需要:

  • 为每个“标签”HTML标记单击一个“”(单击时将删除它们)
  • 退格键上的一个“向下键”(它将从文档中删除最后一个“标签”)
两者都调用以一个元素作为参数的函数。在下面的代码中,向下键不起作用。。。有人能看到这个问题吗?? 谢谢

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();
}