javascript insertBefore仅在addEventListener上插入一次

javascript insertBefore仅在addEventListener上插入一次,javascript,addeventlistener,Javascript,Addeventlistener,我有一个input type=“number”字段,我想控制不插入负数。使用addEventListener执行此操作,但会在输入该字段的每个数字上执行 var number=document.querySelector(“输入[type=number]”) number.addEventListener('input',function()){ var valeur=number.value if(以“-”号开头的值){ erreur=document.createElement(“div”

我有一个
input type=“number”
字段,我想控制不插入负数。使用
addEventListener
执行此操作,但会在输入该字段的每个数字上执行

var number=document.querySelector(“输入[type=number]”)
number.addEventListener('input',function()){
var valeur=number.value
if(以“-”号开头的值){
erreur=document.createElement(“div”)
erreur.innerHTML=“没有负数。”
数字。追加子项(错误)
number.parentNode.insertBefore(erreur,number.nextSibling);
}否则{
erreur.remove()
}
})

您应该将div的创建置于if条件之外

let erreur = document.createElement("div")
number.addEventListener('input', function() {
var number=document.querySelector(“输入[type=number]”)
让erreur=document.createElement(“div”)
number.addEventListener('input',function()){
var valeur=number.value
if(以“-”号开头的值){
erreur.innerHTML=“没有负数。”
数字。追加子项(错误)
number.parentNode.insertBefore(erreur,number.nextSibling);
}否则{
erreur.remove()
}
})