9

違いはありますか

<input type="submit" value="Register" onclick="javascript:submitTheForm();">

<input type="submit" value="Register" onclick="submitTheForm();">

javascript:JS関数呼び出しの前に使用する必要がありますか?

4

3 に答える 3

10

javascript:onwhatever=""ハンドラーの内部は何もしません。この属性のコンテンツは常にJavaScriptであるため、ラベルjavascript:を定義しますが、ブロックまたはループの外側(ラベルの位置に/に使用できる場所)では何もしません。switchbreakcontinue

ただし、インラインイベントハンドラーの使用はお勧めしません。イベントハンドラーを登録するためのより良い 方法があります。


質問には記載されていませんjavascript:が、href属性での使用は機能しますが(実際には必要です)、さまざまな理由からお勧めできません。

  • this要素を指していない
  • 値を返す関数を呼び出すと、ブラウザはサイトを離れます
  • JavaScriptが無効になっているリンクをクリックすると中断します
  • 新しいウィンドウ/タブでリンクを開こうとすると中断します

したがって、本当にインラインイベントを使用する必要がある場合は、常にonclick=""などを使用せずに使用してくださいjavascript:

于 2012-04-20T08:16:35.140 に答える
1

onclick属性を使用している場合は、プレフィックスを使用しないでくださいjavascript:。これは、リンク<a />でJS関数を処理する場合に役立ちます。次に例を示します。

<a href="javascript:myfunc();"></a>
于 2012-04-20T08:16:54.363 に答える
1

javascript:func()javascriptプロトコルhrefを使用しているため、anchors属性で使用できます。ただし、これを行わないでください。「プロトコル」というjavascriptでリンクを使用するのはなぜ悪い習慣なのですか。詳細については。

イベントハンドラーは、属性ではなくイベントをトリガーする方が望ましいです。

于 2012-04-20T08:19:47.420 に答える