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);
});
添加回答
舉報