【发布时间】:2020-03-08 09:13:51
【问题描述】:
我正在尝试使用 $(this) 以便能够在箭头中使用 jQuery 对象,但它不起作用
$('.btnReserve').click(function(){
var element_div = $(this).closest('div');
console.log(element_div.attr('id');
});
效果很好
但是……
$('.btnReserve').click(() => {
var element_div = $(this).closest('div');
console.log(element_div.attr('id');
});
$(this) 不起作用
为了得到想要的结果,我使用了下面的方法
$('.btnReserve').click((event) => {
var element_div = $(event.target).closest('div');
console.log(element_div.attr('id');
});
【问题讨论】:
-
定义不起作用...
-
这就是箭头函数的主要区别之一。他们在定义时维护
this。如果箭头函数的特性与用例不匹配,请不要使用它。 -
"箭头函数没有自己的
this". -
尝试使用文档级事件监听器
标签: jquery ecmascript-6 arrow-functions