Jquery 绑定将其返回到整个文档

Jquery bind returns this to entire document

提问人:Freezend 提问时间:11/3/2020 更新时间:11/3/2020 访问量:26

问:

制作方法:

$('.x').on('click', function() {
    console.log($(this).attr('id'));
});

诸如此类:

$('.x').on('click', () => {
    console.log($(this).attr('id'));
});

但仍然有效?

jQuery 返回 单击 绑定

评论

0赞 Yehor Androsov 11/3/2020
这回答了你的问题吗?你能在箭头函数中绑定“this”吗?
0赞 Freezend 11/3/2020
我不确定。。。

答:

0赞 Yehor Androsov 11/3/2020 #1

您可以使用提供给函数的事件参数,该参数等于在常规函数中调用。event.targetthis

$('.x').on('click', (event) => {
    console.log($(event.target).attr('id'));
});

不能使用的原因如下所示。我之前提供的链接显示了上下文与箭头函数的绑定是多么复杂。Jquery对你的处理程序使用类似的方法this

var customObject = {
  data: "test"
}

function test(func) {
  func.call(customObject);
}

test(function () 
{
  console.log(this);
});

test(() => {
  console.log(this);
});