違いは何ですか
<a href="javascript:jsFunction();">test</a>
と
<a href="javascript:void(0);" onclick="javascript:jsFunction();">test</a>
どうもありがとうございました。
違いは何ですか
<a href="javascript:jsFunction();">test</a>
と
<a href="javascript:void(0);" onclick="javascript:jsFunction();">test</a>
どうもありがとうございました。
a
1つ目は、タグでのみ使用できます。これはリンクであり、ブラウザによってjavascriptとして解釈されます。
2つ目はDOMイベントであり、すべてのタグで使用できます。
javascript
1 つ目は、プロトコルを使用して、ブラウザが指すリソースをロードするのではなく、その後のすべてを JavaScript として実行するようにブラウザに指示するリンクです。
一方、onclick
属性は実際の JavaScript イベント ハンドラーであり、最初から使用するべきではありません。JavaScriptjavascript:
であることは既に認識されているため、JavaScript として実行するように指示する必要はありません。
ただし、コンテンツ (HTML) と機能 (JavaScript) を分離するためには、上記の手法はどちらも使用せず、代わりに (たとえば)id
属性を追加して要素を識別し、JavaScript を使用してイベント ハンドラーをバインドすることをお勧めします。 .
HTML:
<a href="#" id="test-anchor">test</a>
JavaScript:
document.getElementById('test-anchor').onclick = function(event) {
jsFunction();
}
この @param ではない
<a href="javascript:jsFunction(this);">test1</a>
この @param の成功
<a href="javascript:void(0);" onclick="javascript:jsFunction(this);">test2</a>
function jsFunction($this) {
return $this; // not href attribute this @param ; onClick attribute success this @patam
}