0

因此,我想要一個鏈接來執行JavaScript函數(如果JavaScript可用)或在href屬性中輸入URL(如果不是)。鏈接中的Unobstrusive JavaScript

<a href="http://www.example.com" onclick="example(); return false;"> 

在這個例子中,我想執行example()進入鏈接,如果JavaScript可用或去http://www.example.com如果JavaScript是不可用的。

儘管在幾乎所有瀏覽器中都可以使用,但在IE 7中,無論JavaScript是否處於活動狀態,它都會在鏈接後面顯示。我能做些什麼來防止這種情況發生?

回答

0

試試這個:

<a href="http://www.example.com" onclick="example(); event.returnValue=false; return false;"> 
1

你必須使用preventDefault()事件對象上,以防止默認動作(即,導航到鏈接的URL)。

由於實施differes在瀏覽器一點點,你應該寫一個單獨的功能,這樣做,並呼籲它在你的事件處理程序:

function preventDefault(event) { 
     if (event.preventDefault) { 
      event.preventDefault(); 
     } else { 
      event.returnValue = false; 
     } 
} 

此外,一定要在你的事件回報虛假處理程序。

如果您使用任何JavaScript庫,那麼這個功能很可能已經存在。

1

分開你的JavaScript從HTML :)

<a href="http://www.example.com" id='uniq-link'> 
$(function() { 
    $("#uniq-link").on("click", example); 
}); 

如果JavaScript是不可用的 - 一切都會好的:)

+0

+1,但OP沒有提到他正在使用jQuery或任何其他庫 –

+0

現在是時候做到這一點:)如果它不是:D – ValeriiVasin