2014-02-11 18 views
3

我有一個鏈接如下:如何在Anchot標籤執行的onClick和HREF兩者(<a>)

<a href="www.google.com" onClick="someFunction()">Click me</a> 

上點擊,它執行JavaScript的功能,但不帶我去HREF鏈接的鏈接。

任何想法如何實現相同的?

+2

的Java!= JavaScript的 –

+2

這是不是一個div? –

+1

請分享你的someFunction(),並重新編輯你的問題(onclick在標籤之間,它應該是屬性) – pbenard

回答

7

我認爲這樣做是爲了讓你的功能最簡單的方法返回true,以便在函數完成後,錨標籤的行爲就像通常那樣。這樣,如果你想使用新窗口中,您還可以使用目標屬性:

<a href='http://www.google.com' onclick="myFunction();" target="google">Click me</a> 

腳本

<script type='text/javascript'> 
    function myFunction() { 
     alert("hello"); 
     return true; 
    } 
</script> 
+0

我同意你,這是更好的,但提問者不想分享他的功能,所以這是不可能的,以確定是否他使用的是否返回false:/ +1 – pbenard

+0

函數返回的內容並不重要,你可以將它包裝在一個新的函數中,如果需要的話返回true :)無論如何,我仍然認爲這是最好的方法做他所問的。 – Esko

+0

「myFunction」返回什麼都沒有關係。重要的是'onclick'返回什麼。它返回'undefined'(因爲它沒有return語句),所以它不會阻止鏈接被跟蹤。 – Quentin

1

你可以做這幾個方法,

<div onclick = "function();"><a href = "link.com">link here</a> </div> 

,或者你可以只使用onclick在一個本身

<a href = "link.com" onclick = "function();"> link here</a> 

你把的onclick這僅僅是標籤的內文本,把它放在第一個使用它作爲標籤的屬性。

編輯:我上面的用戶發佈,在功能,如果你想在href執行以及返回true。

3

我用jQuery的,我希望它仍然是可以理解的:

<a href="www.google.com" onClick=someFunction()>Click me </a> 

其執行js函數,但不帶我去的HREF鏈接。

的一個方法是你的函數後添加重定向:

function someFunction() 
{ 
    ... your code ... 

    window.location.href( $(this).attr('href') ); // <----- HERE 

} 

更新後評論:

function someFunction() 
    { 
     ... your code ... 

    window.open( $(this).attr('href') , '_blank' ); // <----- HERE 

    } 
+0

將window.location.href打開新窗口或新選項卡中的鏈接..我希望它在新選項卡中打開。 – user2129794

+0

看起來更新,有_blank – pbenard

+0

它在新窗口中打開sumtyms和新選項卡sumtyms – user2129794

-2

當附着在錨標記點擊事件,它是由瀏覽器在處理「特殊'的方式。

的。點擊是不是想用「A」的標籤來工作,因爲瀏覽器不支持「假點擊」使用javascript。

我的意思是,你不能「點擊」的元素與JavaScript。以「」標籤可以觸發其onClick事件,但鏈接不會改變顏色(在訪問過的鏈接顏色,默認是在大多數瀏覽器紫色)。

因此,使「click」事件與'a'標籤一起工作是沒有意義的,因爲去href屬性的行爲不是onClick事件的一部分,而是在瀏覽器中硬編碼。

但你可以做一些定製onclick處理程序,以便參考HREF鏈接。

讓具有用於它的一個示例:

$('a').click(function() { 
       window.open($(this).attr('href'));     
}); 

這裏是http://jsfiddle.net/4Qku8/展示使用jquery相同。

有關進一步詳情,請參閱this link

相關問題