ボタン内でインライン コマンドを実行する場合:
<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!')};
};