Ini kode saya:

setInterval(function(){
  
  let fklas = document.createElement("input"); 
  fklas.setAttribute('type', 'text');
  
  let randomX = 10
  let randomY = 10
  
  fklas.style.top= randomX + "%"
  fklas.style.left= randomY + "%"
  document.body.append(fklas);
 },100)
  
  
function mouseOver() {
	console.log(this.id);
    this.parentNode.removeChild(this);
}
var list = document.getElementsByTagName("input");
for (var i = 0; i < list.length; ++i) {
    list[i].addEventListener("mouseover", mouseOver);
}

Saya ingin menghapus area input dengan mouseover. Seharusnya seperti permainan. Fungsi hapus saya tidak berfungsi. Bisakah seseorang memperbaikinya?

Cinta.

0
Elena1a1a 29 Oktober 2019, 05:08

1 menjawab

Jawaban Terbaik

Anda perlu menambahkannya ke setiap elemen yang dihasilkan.

setInterval(function() {
  let fklas = document.createElement("input");
  fklas.setAttribute('type', 'text');

  let randomX = 10
  let randomY = 10

  fklas.style.top = randomX + "%"
  fklas.style.left = randomY + "%"
  fklas.addEventListener("mouseover", mouseOver) // <-----
  document.body.append(fklas);
}, 100)


function mouseOver() {
  console.log(this.id);
  this.parentNode.removeChild(this);
}

// <-- there are no element generated at this point so your for loop is effectively no-op

*Saya menghilangkan bagian gaya karena itu pertanyaan yang berbeda.

1
apple apple 29 Oktober 2019, 02:14