私は矢印の機能を使用しようとしていますし、私は私がfontColor
のcardColor
をログコンソール場合は、変数特定の要素を取得するときに私の矢印機能が機能しないのはなぜですか?
let cardColor;
let fontColor;
let toggleSidebarInfo =() => {
let colors;
$('.client-director, .person-link, .card-picture').click((evt) => {
employeeId = evt.target.id;
///// FOCUS ON THIS PART //////
colors = $(this).hasClass('card-picture') ?
(cardColor = $(this).next().css('backgroundColor'),
fontColor = $(this).next().css('color')) :
(cardColor = $(this).css('backgroundColor'),
fontColor = $(this).css('color'));
/////////////////////////
compareId(employeeId);
});
};
を割り当てるしようとしたとき、私は
.click((evt) => { . . . });
が、私はそれを通常の方法を行う場合
.click(function(evt) { . . . });
すべて正常に動作します。
私には何が欠けていますか?
あなたは「this」を参照しているので、適切でないところで矢印機能を使用しようとしないでください。 – Bergi
@Bergiだから '$(this) 'の代わりに何を使うべきですか?私はそれがjQueryの特別な(この)機能だと思っていました。 – NietzscheProgrammer
最も簡単な解決策は、適切な関数型を使用することですが、 'evt.currentTarget'を使用してバインドされた要素を取得することもできます。あなたが特に外側の字句環境の 'this 'を必要としない限り、私は矢印関数を使用しませんが。 –