1

重複の可能性:
JavaScript コードを <a> に入れるさまざまな方法の違いは何ですか?

違いは何ですか

<a href="javascript:jsFunction();">test</a>

<a href="javascript:void(0);" onclick="javascript:jsFunction();">test</a>

どうもありがとうございました。

4

3 に答える 3

3

a1つ目は、タグでのみ使用できます。これはリンクであり、ブラウザによってjavascriptとして解釈されます。

2つ目はDOMイベントであり、すべてのタグで使用できます。

于 2012-09-27T12:02:57.283 に答える
1

javascript1 つ目は、プロトコルを使用して、ブラウザが指すリソースをロードするのではなく、その後のすべてを 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();
}
于 2012-09-27T12:08:58.983 に答える
1

この @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
}
于 2012-09-27T12:11:57.407 に答える