Javascript错误:HTMLTableCellElement.onclick

时间:2017-11-08 03:08:40

标签: javascript jquery html onclick tic-tac-toe

所以我正在尝试在HTML / JS上制作一个井字游戏,但是我的onclicks只是停止了工作,我现在得到的错误是所有的功能都没有定义。我尝试将我的clear()函数更改为jQuery但我无法测试它。

Here is a jsfiddle.

基本上,它正在获取此HTML

 <td class="tile" id="pos1" onclick="draw(this); checkWinner();"></td>

识别此javascript函数

var counter = 0;
function draw(elmt){
    if(elmt.innerHTML == "x" || elmt.innerHTML == "o")
    {
        //do nothing
    }
    else{
    if(counter==0){
        elmt.innerHTML = "x";
        counter = 1;
    }
    else{
        elmt.innerHTML = "o";
        counter = 0;
    }
    }
}

谢谢!

2 个答案:

答案 0 :(得分:0)

您的checkWinner函数未定义,并确保所有函数都已定义到全局范围,例如,您必须可以访问window.draw()

最后,您还可以使用jQuery方便地绑定事件处理程序,如:

```

$('.tile').on('click', draw);

function draw(e) {
  var html = $(this).html();
  if(html == "x" || html == "o")
  {
    //do nothing
  } else{
    if(counter==0){
      $(this).html("x");
      counter = 1;
    }
    else{
      $(this).html("o");
      counter = 0;
    }
  }
}

```

&#13;
&#13;
var counter = 0;
function draw(elmt){
    if(elmt.innerHTML == "x" || elmt.innerHTML == "o")
    {
        //do nothing
    } else{
      if(counter==0){
          elmt.innerHTML = "x";
          counter = 1;
      }
      else{
          elmt.innerHTML = "o";
          counter = 0;
      }
    }
}
function checkWinner(){

}
&#13;
<table>
<tr>
<td class="tile" id="pos1" onclick="draw(this); checkWinner();">
Click Here
</td>
</tr>
</table>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

我猜他们的jsfiddle肯定有问题你可以试试这个代码对我有用

[just remove `$( document ).ready(function() {})`]