javascript - 将“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();
解决方案
推荐阅读
- docker - docker 命令正确公开端口,但 docker-compose 没有
- firebase - 如何限制从 Firebase 读取数据的速率?
- c# - 为什么 C# 代码总是让 Unity 崩溃?(我是 Unity 和 C# 的初学者)
- sql - 使用 Group By 不工作的分桶值?
- python - Lo Shu Magic Square - 一直显示'false'未定义然后无效
- javascript - 为什么 ActionCable 会多次渲染局部?
- swift - StackView 中的按钮约束(以 Swift 编程方式)
- python-c-api - 如何将 python 2 C 扩展模块转换为 python 3
- django - 可以对内置的注册和登录系统进行小改动吗?
- variables - Sass:变量选择器名称作为值。(后缀)