言い換えれば、違いは何ですか
onclick="myFunction()"
と
onclick="JavaScript:myFunction()"
イベント ハンドラーのJavaScript:
TYPE/LABEL/PREFIX (実際の名前は見つかりませんでした) は、次の1 つの目的のみ を果たします。
IE では、ページの最初のスクリプトが JavaScript ではない場合、ページの残りのインライン JavaScript にはjavascript:
プレフィックスを付ける必要がありました (まだありますか?)。
javascript:
href のプロトコルと混同しないでください(ちなみに、これも避ける必要があります)。href="javascript:..."
AREA タグの古いネットスケープでのみ必要です。リンクがJavaScript駆動のものであることをユーザーに警告するためにそこに配置しない限り、href="javascript:void(0)"
誰かが代わりに使用する必要があることがわかった場合。onclick="....; return false"
JS がオフになっていると失敗します。
私は msdn から公式ドキュメントを探しましたが、ここに私をバックアップするための議論があります:
Internet Explorer は、解析する最初のスクリプト要素の言語にデフォルト設定されます。したがって、最初のスクリプト要素が javascript の場合、イベント ハンドラーで "javascript:" を指定する必要はありません。
http://www.webdeveloper.com/forum/archive/index.php/t-135462.html
VBS と JScript を使用していることを IE に伝える必要があります。そうしないと、このインスタンスではすべての関数が VBS であると想定されます。(空の?) JavaScript スクリプト要素を [ページの上部に] 追加するか、onchange で jscript: プロトコルを使用します。onchange="jscript:location.hash=this[this.selectedIndex].value;"
例
<html>
<head>
<script language="VBScript">
' some vbscript here forces the default language
' of the page to be VBScript and not jScript/JavaScript
</script>
</head>
<body onload="javascript:alert('I am inline in an event handler - boo me')">
.
.
<a href="..." onclick="javascript:alert('and so am I'); return false">Click</a>
.
<a href="javascript:alert('javascript: PROTOCOL is NOT the same (but avoid it too)')">
Click
</a>
</body>
</html>