2012-09-27 60 views
1

可能重複:
What is the difference between the different methods of putting JavaScript code in an <a>?href =「javascript:jsfunction();」有什麼不同?和onclick =「javascript:jsfunction();」

什麼

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

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

非常感謝你多。

回答

1

第一個是使用javascript協議的鏈接告訴瀏覽器在JavaScript之後執行所有操作,而不是嘗試加載它指向的資源。

在另一方面,onclick屬性是一個實際的JavaScript事件處理程序,不應該與javascript:在開始使用 - 它已經知道它的JavaScript所以並不需要被告知要執行它作爲JavaScript。

但是,爲了分離出您的內容(HTML)和功能(JavaScript),最好不要使用上述技術,而是添加(例如)id屬性來識別您的元素,然後使用JavaScript綁定你的事件處理程序。

HTML:

<a href="#" id="test-anchor">test</a> 

的JavaScript:

document.getElementById('test-anchor').onclick = function(event) { 
    jsFunction(); 
} 
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 
} 
相關問題