首页 > 解决方案 > 将“this”传递给另一个函数不起作用

问题描述

我对“这个”有疑问。我尝试做一个简单的井字游戏,似乎 arrChange 函数中的“this”是未定义的。我有一个带有 td 和 th 的表,它们每个都有一个与 ID 关联的数字。最后的 targetID 应该显示一个数字(例如,如果单击表格的左上角方块(有 9 个方块),则为“1”。如何将 this 的值从 startHere 传递给 arrChange?我尝试使用 bind但由于我是 js 新手,所以它并没有真正起作用。

var str = '123456789';
var arr = str.split("");


var arrChange = () => {

  var targetID =$(this).attr('id');
  var whereinArr = arr.indexOf(targetID);
  var removeFromArr = arr.splice(whereinArr, 1);
  console.log(targetID);

}

var startHere = ()=> {
  $( "td,th" ).click(function() {
   $(this).css('background', 'blue');
 
    arrChange();

  });
}
startHere();

标签: javascript

解决方案


推荐阅读