Home
TypeScript
【’関数名’ is not defined】TypeScriptでHTMLイベント属性を使う時の対処法

【’関数名’ is not defined】TypeScriptでHTMLイベント属性を使う時の対処法

【’関数名’ is not defined】TypeScriptでHTMLイベント属性を使う時の対処法

どうも!かけちまるです!

HTMLのイベント属性でTypeScriptに書いた関数を呼び出すときに'関数名' is not definedというエラーが発生したので解決策をメモっておきます。

この記事では、

  • ・HTMLのイベント属性からTypeScriptで定義した関数を呼び出す方法

がわかります。

HTMLのイベント属性かえで定義した関数を呼び出す方法

エラー状況

HTMLのイベント属性からTypeScriptで定義した関数を呼び出そうとした時にエラーが発生しました。

HTML
コピー
<button onclick="clickEvent()">ここをクリック</button>
TypeScript
コピー
function clickEvent(){ console.log('クリックされました。'); };

ブラウザのコンソールでは、'関数名' is not definedというエラーが発生していて、

ブラウザのコンソールエラー

TypeScriptからは、'関数名' が宣言されていますが、その値が読み取られることはありません。ts(6133)というエラーが発生しています。

TypeScriptエラー

解決方法

windowに加えたら動くようになったものの理由は分からないです。
それに型エラーが出ているのでそれの対処も必要そうです。

TypeScript
コピー
window.clickEvent = function clickEvent(){ console.log('クリックされました。'); };

まとめ

イベント属性は極力使わず、大人しくTypeScriptに書いた方が良さそうですね。

おわり

かけちまる
かけちまる
Webエンジニアをしています。
HTML/CSS/JavaScript/jQuery/PHPができます。
WEB制作を中心に日々学びになったこと、興味が沸いたことについて初心者の方でもわかりやすいようにアウトプットしていくブログです。

関連記事

Local by Flywheelで本番環境のWordPressをローカルに複製する

Local by Flywheelで本番環境のWordPressをローカルに複製する

【メンテナンス画面】LightStartの設定方法とデザインカスタマイズ

【メンテナンス画面】LightStartの設定方法とデザインカスタマイズ

Linuxパーミッションの変更方法

Linuxパーミッションの変更方法

【Macユーザー向け】ngrokでローカル環境のサイトを外部へ公開

【Macユーザー向け】ngrokでローカル環境のサイトを外部へ公開

jQueryでURLやパラメータを取得する方法【location】

jQueryでURLやパラメータを取得する方法【location】

gsapのstaggerで順番にアニメーションさせる方法

gsapのstaggerで順番にアニメーションさせる方法