Pandora Pocket

IT系と日常系の備忘録。三日坊主。

HTMLのフォームにonSubmitでJavaScriptを呼ぶように実装してたんですが、HTMLファイルに直接JavaScriptを記載していたり、生のJavaScriptファイルを読ませていた時はうまく動くのに、Parcelを通したJavaScriptファイルだと Uncaught ReferenceError となってしまい、実行されない問題が発生。

ググったところそれっぽい情報を発見。

### 前提・実現したいこと [parcel](https://parceljs.org/)でバンドルしたjs内の関数を、`input`タグの`onclick`で呼び出したい ### 発生して
[はてなブックマークで表示]

生のJavaScriptファイルがこんな感じの内容だったとして、

Parcelを通すとこんなファイルが生成されます。

モジュール化されることでメソッドがグローバルに定義されなくなるので、onSubmit="hogehogeMethod()"と呼んでも失敗すると。

であればグローバル下に引きずり出してやればいいと。

というわけで、

こんな感じで、

window.メソッド名 = メソッド名;

というようにグローバルに定義してやればonClickやonSubmitといったイベントハンドラから呼び出すことが可能。