gpt4 book ai didi

javascript - 在简单的 ES6 点击处理程序中使用 $(this) 时遇到问题

转载 作者:行者123 更新时间:2023-11-28 03:54:41 25 4
gpt4 key购买 nike

const letters = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","_"];

$.each(letters, (number, letter) => {
let b = $('<button>');
b.addClass('letter-button letter letter-button-color')
.attr('data-let', letter)
.text(letter);
$('#buttons').append(b);
});
$('.letter-button').on('click', () =>  {
let fridgeMagnet = $('<div>');
fridgeMagnet.addClass('letter fridge-color')
.text($(this).data('let'));
console.log(this);
$('#display').append(fridgeMagnet);
});

这是一个古老的练习,解决方案是使用过时的 JavaScript 版本。我正在尝试将步骤 4 和 5 更新为 ES6,但 $(this) 在这里不起作用。谁能向我解释一下如何修复点击处理程序以及 $(this) 如何从 ES5 更改为 ES6?我们希望新创建的按钮能够以正确的字母数据出现在背景冰箱图像上。另外,什么是“data-let”?

最佳答案

由于 $(this) ,您不能将箭头函数与 jquery 事件处理程序一起使用,并且箭头函数不是新函数。函数关键字 id 还没有过时!使用 function() 代替。

You Can refer to this blog post for more info

关于javascript - 在简单的 ES6 点击处理程序中使用 $(this) 时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47659068/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com