alert("Hi!") と function(){alert("Hi!")} の違い [重複] 質問する

alert(

ボタン内でインライン コマンドを実行する場合:

<button id="myButton" onclick="alert('Hi!')"> 

どして

document.getElementById("myButton").onclick = alert('Hi!') 

function()動作しませんが、ページが読み込まれるとアラートが表示されますか?を追加した場合と追加しない場合の動作が理解できませんfunction()。皆さんが私の質問を理解してくれることを願っています。何かが欠けています。

ベストアンサー1

document.getElementById("myButton").onclick = alert('Hi!')

onclick は関数呼び出しの結果自体ではなく、関数参照に割り当てられる必要があるため、これは誤りです。

ページが読み込まれると実行されますalert('Hi!')が、ここでの意図はそうではありません。onclick ハンドラーを割り当てる目的は、ボタンがクリックされたときにこのアラートが実行されるようにすることです。

そのためには、次のことが必要です。

document.getElementById("myButton").onclick = function(){alert('Hi!')};

また、これはwindow.onloadイベント内にラップされていないと機能しません。

window.onload = function(){
    document.getElementById("myButton").onclick = function(){alert('Hi!')};
};

おすすめ記事