2012-07-18 72 views
0

我有以下鏈接元素:Haulting鏈接的href用JavaScript

<a href="javascript:;" onclick="check_show('http://www.test.com')">Test</a> 

<script> 
function check_show(link){ 
    if($('#testelement).css('display') == 'block'){ 
     window.location.href = link; 
    } 
} 
</script> 

這樣做的問題是,如果我點擊在新窗口中打開(或按Ctrl鍵),它會打開一個新的'javascript:;'的窗口。所以,我需要在href中加入鏈接。這很好,但我仍想檢查#testelement是否可見。

回答

0

您的JavaScript正在運行,然後瀏覽器重定向到href。您需要阻止瀏覽器關注此鏈接。您可以在onclick的函數調用後添加return false;

<a href="LINKHERE" onclick="check_show('http://www.test.com'); return false;">Test</a> 
+0

應該把'return false;'放在'check_show()'中。 – kevin628 2012-07-18 15:42:34

+1

@ kevin628在這種情況下,'onclick'屬性也需要'onclick ='return check_show('http://www.test.com');'當然,理想情況下,因爲jQuery已被使用,所以這些事件處理程序將被綁定使用,而不是內聯元素的屬性。 – 2012-07-18 15:46:00

+0

@AnthonyGrist啊,我現在看到。 – kevin628 2012-07-18 15:48:07