2008-12-16 102 views

回答

9
<a href="#" onclick="window.open('myPage.aspx');return false;">Open New Window</a> 
  • javascript:在事件属性是不需要的。
  • 你没有从事件处理程序返回false,所以链接正在跟随,它等于<a href="#">Scroll to top</a>
0

我认为问题是,你的链接指向一个空#(href="#"),该浏览器会解释为是指“在页面顶部”。

尝试从您的定位标记中移除href属性。 onclick属性应该足以满足您的需求。

1
<a href="javascript:void()" onclick="window.open('myPage.aspx');">Open New Window</a> 

应该这样做。正如其他人所提到的那样,#正试图去找一个不存在的锚点,这会导致浏览器滚动到顶部。您不想删除href属性,因为某些浏览器不会将不带href属性的标签视为样式目的的链接,并且您必须定义其他CSS规则才能使链接看起来像您网站上的其他链接。

此外,为什么有一个href属性,然后尝试通过总是从您的处理程序返回false来阻止该事件。在我看来,这种方式比这里提出的其他方法更清洁。

0

这是很好的保持页面对于那些不具备的JavaScript,或者访问其禁用:

<a href="myPage.aspx" target="_blank" onclick="window.open('myPage.aspx');return false;">Open New Window</a> 

目标=“_空白”,是在一个新窗口(或标签)来打开。如果客户端没有JS,那么它仍然会打开页面,而不是在JS调用的窗口中。