見出し画像

【JavaScript】onClick="clear()"が動かない時はメソッド名を変えろという話

うごかねぇんですよ

最初からあったこれは動く

<button name="submit" id="submit" onclick="submit()">投稿</button>

同じHTMLファイル上に足した、これが動かない

<button name="clear" id="clear" onclick="clear()">クリア</button>

もちろんjs内にclearメソッドは用意している。

function clear(){
   console.log("clear")
   if(!window.confirm("入力内容を消去します")){return}
   DISPLAY_TEXT_OBJECT.value = ""
}

でも、メッセージボックスが出るの出ないの以前に、consoleにログも出ない。

同時に足したこっちは動く

何が違うというのだ……

<button name="copy" id="copy" onclick="copy()">コピー</button>

解決。

……名前が悪いのか?と思って、こうしたら動いた

<button name="clear" id="clear" onclick="clearAll()">クリア</button>

メソッドの名前が悪かったっぽい。デフォルトの何かとバッティングするのか。

簡単なプログラムだと、ついついどシンプルなメソッド名使いたくなるけど、あんまり汎用的な名前すぎると既存のメソッド名とバッティングして予期せぬ挙動を呼ぶので、ある程度は具体的な名前を付ける様にした方が身のため。

この記事が気に入ったらサポートをしてみませんか?