Javascript 单击停止正在交换的图像
我试图用JavaScript编写一个跳棋游戏,但在一次交换后停止图像时遇到了问题。在下面的当前实现中,单击图像交换,然后当您单击电路板的另一部分时,会放置另一个“块”。但当你再次点击时,另一个被放置,另一个等等。当你再次点击时,我试图不让一块被放置Javascript 单击停止正在交换的图像,javascript,html,css,Javascript,Html,Css,我试图用JavaScript编写一个跳棋游戏,但在一次交换后停止图像时遇到了问题。在下面的当前实现中,单击图像交换,然后当您单击电路板的另一部分时,会放置另一个“块”。但当你再次点击时,另一个被放置,另一个等等。当你再次点击时,我试图不让一块被放置 var imageSwaped = false; function clickOnBlankSpace(object) { this.src="Directory/BlackPiece.png"; imageSwaped = tru
var imageSwaped = false;
function clickOnBlankSpace(object)
{
this.src="Directory/BlackPiece.png";
imageSwaped = true;
this.removeEventListener("click", clickOnBlankSpace);
return;
}
var BlackPieces = document.getElementsByClassName("BlackPiece");
var RedPieces = document.getElementsByClassName("RedPiece");
var BlankSpaces = document.getElementsByClassName("BlankSpace");
for(var j = 0; j<BlackPieces.length;j++)
{
var BlackPiece = BlackPieces[j];
BlackPiece.addEventListener("click", function()
{
this.src="Directory/BlackPieceH.png";
this.className ="BlackPieceH";
for(var j = 0; j<BlankSpaces.length;j++)
{
var BlankSpace = BlankSpaces[j];
if (!imageSwaped) BlankSpace.addEventListener("click", clickOnBlankSpace);
}
})
}
与论坛网站不同,我们不使用感谢、感谢的帮助或签名。请参阅。我不会在循环中定义EventListener,而是使用事件委派,仅将一个事件侦听器绑定到整个板或字段或div,并使用e作为函数参数执行一项任务,并检查通过e.target单击的是哪一部分。您能再解释一下吗?这听起来是个不错的选择。我遇到的另一个问题是,能够使用事件侦听器编写条件语句,这样,只有在单击某个对象时,以及在发生其他事件时,单击才能起作用。