我正在使用箭头函数执行小部分代码的概念,然后我开始获得困扰我的功能。
当您将以下内容与其功能对应物(下面列出)进行比较时:
$("#test").click((e) => $(e.target).remove());
$("#subtest").click((e) => true);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="test">test
<div id="subtest">test2</div>
</div>
$("#test").click(function (e) {
$(this).remove()
});
$("#subtest").click(function () {
return true;
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="test">test
<div id="subtest">test2</div>
</div>
我确信这与e.target
引用的内容有关,因为如果我使用e.currentTarget
似乎有效。
$("#test").click((e) => $(e.currentTarget).remove());
$("#subtest").click((e) => true);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="test">test
<div id="subtest">test2</div>
</div>
我没有通过 Google 获得此功能的真正令人满意的答案,我们非常感谢您的帮助。
答案 0 :(得分:1)
summary()
将不会成为选择器的元素
在你的情况下,你有一个实际上是目标的孩子。这很容易通过target
相反console.log(e.target)
与选择元素相同,不一定与currentTarget
相同。在非箭头函数处理程序中,target
与currentTarget