TypescriptでjQueryの$(this)が暗黙的に型anyになる問題を解決
TypescriptでjQueryの$(this)が暗黙的に型anyになる問題を解決
jQueryでよく書くクリックイベントをTypescriptで書き直したときに$(this)がany型に判断されることがわかった。
1 2 3 4 5 6 7 8 |
const target: JQuery<HTMLElement> = $('.hoge-class'); target.find('a').on('click', (e: JQuery.ClickEvent<HTMLAnchorElement>): void => { e.preventDefault(); const fuga = $(this); ← 型注釈がないのでany型になると言われる ... ... |
thisをe.targetとすることで解決。
1 2 3 4 5 6 7 8 |
const target: JQuery<HTMLElement> = $('.hoge-class'); target.find('a').on('click', (e: JQuery.ClickEvent<HTMLAnchorElement>): void => { e.preventDefault(); const fuga = $(e.target); ← OK ... ... |
コメント
コメントはありません。