相当于'这个'里面的lambda函数

时间:2017-09-28 13:33:17

标签: javascript jquery lambda arrow-functions

我的功能如下:

$(".myDropdown").hover(function() {
  $(this).find(".myDropdown-caretDown").hide();
}, function() {
  $(this).find(".myDropdown-caretDown").show();
});

如果我想将lambda函数用于悬停回调,我可以使用什么代替this

2 个答案:

答案 0 :(得分:3)

箭头函数中的

this与定义此函数的作用域中的this是同一个对象:

$(".myDropdown").hover(
  e => $(e.target).find(".myDropdown-caretDown").hide(),
  ...
});

答案 1 :(得分:1)

  

我可以用什么代替呢?

使用event.target

$(".myDropdown").hover('click', (event) => {
    $(event.currentTarget).find(".myDropdown-caretDown").hide();
  },(event) => {
    $(event.currentTarget).find(".myDropdown-caretDown").show();
  },);