4

只是一个关于优化的问题,介于:

<a href="#" onClick="javascript:window.open('myUrl.com');">link-1</a>

和 :

<a href="javascript:window.open('myUrlBis.com');">link-2</a>

这个比那个好吗 ?还是更兼容?谢谢。

4

4 回答 4

17

最佳做法是使用target属性

<a href="http://myUrl.com" target="_blank">link-1</a>

如果这不适合,click我会选择一个处理程序(最好不是通过属性分配)。

于 2012-06-12T16:40:25.280 回答
3

没有一个

href使用和使其成为常规链接 target

<a id='my-link' target="_blank" href="http://myUrlBis.com">link-2</a>

如果需要用JavaScript对点击做一些处理,可以使用如下

document.getElementById("my-link").onclick = function(e) {
  // Do some processing here, maybe 
  window.location = this.href
  // Return false to prevent the default action if you did redirect with script
  return false;
}
于 2012-06-12T16:42:45.987 回答
0

没有 JavaScript

<a target="_blank" href="myUrlBis.com">link</a>

使用 JavaScript

<a target="_blank" href="http://www.example.com" id="myLink">link</a>
<script>
    document.getElementById("myLink").onclick = function(){ //attach click event to link
        var winPop = window.open(this.href);  //`this` is reference to link, get href
        return false;  //prevent click event from clicking the link
    }
</script>

JSFiddle 示例

于 2012-06-12T16:47:20.973 回答
-1

下面的代码应该没问题。

<a href="javascript:void(0);"  onclick="window.open(url)">

使用以下代码在 IE(版本:11)中发现问题

<a onclick="javascript:window.open(url)">

问题:当我们在 href 属性中有 javascript window.open 代码时,父窗口在 IE 中被刷新。

于 2015-12-08T11:05:45.543 回答