この質問は常に初心者を困惑させます。まず、HTML 内のどこに js を配置できるかを理解します。つまり、head と body です。ほとんどの人が頭の中に入れています。私はそれを学んでいるとき、混乱してそれを頭の中に入れてしまったのですが、なぜですか?今日は、これら 2 つの場所の違いについて話しましょう:
まず HTML コードの一部を見てください:
新しいドキュメント
< ;meta http- equiv="content-type" content="text/html;charset=utf-8">
まで実行されると、test.js ファイルに入ります。前の文、つまり関数でラップされたものは実行されません。この時点では、最後の文が実行されます。ページに移動し、要素 ID が btn である要素を取得します。ただし、この時点では HTML ページはロードされていません。 ID btn の要素を取得することは絶対に不可能です。エラーが報告されます。このとき、次のコードに変更できると誰かが言いました:
コードをコピー
コードは次のとおりです。 🎜>
document .body.onload = function(){
document.getElementById("btn").onclick=test;
コードをコピーします
コードは次のとおりです:
var test=function( ){
var span = document.createElement("span");
span.innerHTML="add";
document.getElementById("target").appendChild(span);
return function (){ alert("aaaa"); } document.getElementById("btn").onclick=test(); > ページがロードされると、ボタンをクリックすると、ボタンが実行されたときに関数の戻り値が実行されることを示すボックスが表示されます。をクリックされます。つまり、括弧を追加すると、イベントがトリガーされなくても関数が実行されます。イベントがトリガーされたときに実行される関数の戻り値。括弧が含まれていない場合、関数はイベントがトリガーされた場合にのみ実行されます。
HTMLイベントトリガー、どのような内容を記述できますか?
•例えば、onclick="";ダブルクォーテーション内に記述できるもの。一般に、onclick="test();" などの関数を作成できます。これ以外に何を書くことができますか?
• 上記の JS コードを見てください、どの行にもセミコロンがあります。セミコロンの目的は、ステートメントを難読化することです。つまり、onclick で js コードを記述できます。次のように試してみます。
コードをコピーします
コードは次のとおりです:
• 実行結果は以下の通り:
• 説明書は操作可能です。これは、関数名以上のものを入力できることを示しています。
イベントバインド方法?
•イベントバインディングには2つの一般的に使用される方法があります。1つは、前に紹介したように、イベントにjsコードを追加する方法です。例: onclick="test();"。このバインド方法の欠点は、アーティストがすでに作成したコードを変更する必要があることです。
• もう 1 つの方法は、コードを書き始めたときに ID を使用することです。アーティストは各要素に ID を追加するだけで済みます。 HTML コードを変更する必要はありません。