8

現在、サイトでこの小さな js を使用して、div がボタンとして機能できるようにしています。

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

しかし、Web ブラウジングで大量のタブが開いているときによく行うことです。これを可能にするためにコードを変更する方法はありますか?

4

6 に答える 6

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 に答える
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 を使用したリンクは、テキストを提供しています。2 つのタグを使用する目的は、actualLink のみを使用する場合、テキストを好きな場所に配置できないことです。クラス linkText でリンクを使用することにより、テキストを (垂直方向に) センタリングする柔軟性が得られます (水平方向のセンタリングは、actualLink のみを使用して行うことができます)。

于 2013-01-15T09:27:45.673 に答える
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

target="_blank" を使用

こちらをご覧ください

ドキュメント : HTML<a>ターゲット属性
デモ :試してみる

于 2012-09-21T11:45:59.280 に答える
0

これを行うためのクロスブラウザの方法は実際にはありません。Forms または window.open は、新しいタブではなく、新しいウィンドウを開きます。また、メモリ内にリンクを作成して javascript でクリックしようとしないでください。これは、セキュリティ機能として、chrome が新しいタブを開かないためです。

于 2012-09-21T11:48:13.647 に答える