Lỗi addEventListener

var rgb = [
	"rgb(255, 0, 0)",
	"rgb(255, 255, 0)",
	"rgb(0, 255, 0)",
	"rgb(0, 255, 255)",
	"rgb(0, 0, 255)",
	"rgb(255, 0, 255)"
]
var squares = document.querySelectorAll(".square");
var rgbrquest = document.querySelector("#rquest");

for (var i=0; i < squares.length; i++){
	squares[i].style.backgroundColor = rgb[i];
	squares[i].addEventListener("click", function(){
		var correctrgb=this.style.backgroundColor;
		if (correctrgb === rgb[0]){
			alert ("correct!")
		}
	});
};

squares.addEventListener("click", function(){
	alert("clicked!");
});

rgbrquest.textContent = rgb[0];
rgbrquest.style.color = rgb[0];

Em có một đoạn code như trên, khi chạy code thì chrome báo lỗi “this is not a function” ở cái EventListener thứ 2 ạ, nhờ mọi người sửa giúp em chỗ sai với ạ.

squares không phải là một node thì làm sao add event listener được?

4 Likes

Trả về 1 MẢNG. Mà mảng thì làm gì có phương thức tên addEventListener().

6 Likes

giờ em mới biết vụ này em cám ơn ạ

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?