2012-07-18 74 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