2 回答

TA贡献1802条经验 获得超5个赞
这不是你所期望的。
当你使用粗箭头函数时,() => {}你说“this”不应该切换到你的本地上下文中。通过使用经典function样式,您可以设置this为预期的元素并且它可以工作。
$(".element").mouseover(function() {
var currentIndex = parseInt($(this).data('index'));
console.log(currentIndex);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<i class="element" data-index="0">0</i>
<i class="element" data-index="1">1</i>
<i class="element" data-index="2">2</i>
<i class="element" data-index="3">3</i>
<i class="element" data-index="4">4</i>

TA贡献1943条经验 获得超7个赞
$(".element").mouseover((e) => {
var currentIndex = parseInt($(e.target).data('index'));
console.log(currentIndex);
});
添加回答
举报