我正在尝试用机器人在JavaScript上创建一个TicTacToe游戏。现在最主要的是当点击一个带有“.freeSpot”类的div时,必须将this.class改为另一个class => click函数仅适用于“.freeSpot”类。在这个函数中,我还为机器人添加了一个函数。类似地,机器人将中间方格的类改为“.botMarked”,玩家不应该改变那个中间方格,但确实如此。
$('.freeSpot').click(function () {
console.log(this);
$(this).attr('class', "marked");
$(this).html("X");
winBool = checkWin();
if (winBool == true) {
alert("Player wins");
}
botTurn();
});
//TODO- finish for every turn
function botTurn() {
var Q = $('#Q').text();
var W = $('#W').text();
var E = $('#E').text();
var A = $('#A').text();
var S = $('#S').text();
var D = $('#D').text();
var Z = $('#Z').text();
var X = $('#X').text();
var C = $('#C').text();
if (S != "X") {
$("#S").attr("class", 'botMarked');
$("#S").html("O");
}
我还注意到如果我在.click函数之外调用botTurn()函数,程序运行正常,我该怎么办?
答案 0 :(得分:0)
该函数使用.freeSpot类绑定到对象。因此,当稍后删除该类时,绑定仍然存在。
您可以尝试多种选择,