2016-09-25 87 views
0

我有一個Tic Tac Toe遊戲,我想停止播放器「覆蓋」已經拍攝的單元格。 Here's這個遊戲。在點擊後禁用div

我嘗試使用這樣的:

function stopClick() { 
    if (document.getElementsByClassName("pos").innerHTML !== "") { 
     $(this).disabled = "disabled"; 
    } 
} 

以及其他類似的功能,但沒有大量的工作。有任何想法嗎?謝謝!

+0

你有jquery,但使用了'getElementsByClassName()'?還有'$(this).disabled'是不對的。 'this.disabled'或'$(this).attr(「disabled」,true)' – Mohammad

+0

嗯,是的,我需要停止讓他們j them。 –

+0

您能否將日誌添加到流程的不同部分?如在函數頂部的一個,以確保它被調用,在'if'語句中的一個以確保它進入那裏。這將幫助你縮小正在發生的事情。 – Whothehellisthat

回答

0

我編輯你的遊戲,一個工作版本可以在這裏找到: https://jsfiddle.net/f1apoya1/7/

基本上添加一個類:

.already-played { 
    pointer-events: none; 
} 

和你updateButtons功能:

function updateButtons() { 
    for (var i = 0; i < 3; i++) { 
     for (var j = 0; j < 3; j++) { 
      $("#c" + i + "" + j).text(board[i][j] == false ? "x" : board[i][j] == true ? "o" : ""); 
      if (board[i][j]) { 
       $("#c" + i + "" + j).addClass('already-played'); 
      } 
     } 
    } 
} 
+1

完美的是,我添加了'$(this).addClass('already-played');'myMove部分禁用放置x的位置。 –

+0

太棒了。 (: –

0

使用此

$(this).css('pointer-events', 'none');