8

目前我在我的网站中使用这个小块 js 来让我的 div 充当一个按钮:

<div id="item" onclick="location.href='http://www.google.com';" style="cursor:pointer;">Google</div>

但是当网页浏览打开大量标签时,我经常做的事情。有什么办法可以修改我的代码以允许这样做吗?

4

6 回答 6

3

这应该这样做: -

    <html>
    <head>
    <style>
    .sampleDiv
    {
            position:relative;
            margin:0px auto;
            width:400px;
            height:200px;
            background-color:#CCCCCC;
            text-align:center;
    }
    .actualLink
    {
            position:absolute;
            top:0px;
            left:0px;
            width:100%;
            height:100%;
    }
    .linkText
    {
            position:relative;
            top:80px;
    }
    </style>
    </head>
    <body>
            <div class="sampleDiv">
                    <a class="linkText" href="test.html">testing</a>
                    <a class="actualLink" href="test.html"></a>
            </div>
    </body>
    </html>

与类 actualLink 的链接覆盖了整个 div。类 linkText 的链接提供文本。使用两个标签的目的是,如果您只使用actualLink,那么您无法将文本放置在您想要的任何位置。通过使用带有类linkText的链接,您可以灵活地(垂直)居中文本(水平居中可以仅使用actualLink完成)

于 2013-01-15T09:27:45.673 回答
3

我的解决方案是用锚块替换 div 块。锚块现在可以采用几乎任何 div 可以做的 CSS 样式,但它也可以包括 href,浏览器将识别并为您提供您想要查看的右键单击选项。

这么老:

<div class="divClass" onClick="location.href='http://www.google.com'">asdf</div>

变成

<a class="divClass" href="http://www.google.com">asdf</a>
于 2016-08-09T19:55:36.003 回答
2

您不能直接执行此操作,因为这是他们浏览器上的用户设置,无论窗口是作为新窗口打开还是作为选项卡打开。

有,target="_newtab"但没有得到广泛支持。

所以在onclick中:

window.open('page.html','_newtab');

但试图覆盖用户浏览器偏好并不是一个好主意IMO。

要在右键单击时执行此操作,例如:

$('#item').mousedown(function(event) {
  if(event.which == 3) { // right click
      window.open('page.html','_newtab');
  }
})
于 2012-09-21T11:47:50.877 回答
1

你可以这样做:

onclick="window.open('http://www.google.com', somename);" ...

你的意思是,像:

..onmousedown="op(your_url,event);"..

function op(url,event) {
  if (event.button == 2) {
    window.open(url);
  }
}
于 2012-09-21T11:44:41.363 回答
0

实际上没有跨浏览器的方法可以做到这一点。Forms 或 window.open 将打开一个新窗口,而不是新选项卡。并且不要尝试在内存中创建链接并使用 javascript 单击它,因为作为安全功能,chrome 不会打开新选项卡。

于 2012-09-21T11:48:13.647 回答
0

使用目标="_blank"

看看这里

文档:HTML<a>目标属性
演示:试试看

于 2012-09-21T11:45:59.280 回答