現在、サイトでこの小さな js を使用して、div がボタンとして機能できるようにしています。
<div id="item" onclick="location.href='http://www.google.com';" style="cursor:pointer;">Google</div>
しかし、Web ブラウジングで大量のタブが開いているときによく行うことです。これを可能にするためにコードを変更する方法はありますか?
現在、サイトでこの小さな js を使用して、div がボタンとして機能できるようにしています。
<div id="item" onclick="location.href='http://www.google.com';" style="cursor:pointer;">Google</div>
しかし、Web ブラウジングで大量のタブが開いているときによく行うことです。これを可能にするためにコードを変更する方法はありますか?
私の解決策は、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>
これはそれを行う必要があります:-
<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 のみを使用して行うことができます)。
ウィンドウが新しいウィンドウとして開くかタブとして開くかは、ブラウザのユーザー設定であるため、これを直接行うことはできません。
ありますがtarget="_newtab"
、広くサポートされていません。
したがって、onclickで:
window.open('page.html','_newtab');
しかし、ユーザーのブラウザー設定を上書きしようとするのは、IMO としては良い考えではありません。
右クリックでそれを行うには、次のようにします。
$('#item').mousedown(function(event) {
if(event.which == 3) { // right click
window.open('page.html','_newtab');
}
})
あなたができる:
onclick="window.open('http://www.google.com', somename);" ...
つまり、次のようなものです。
..onmousedown="op(your_url,event);"..
function op(url,event) {
if (event.button == 2) {
window.open(url);
}
}
これを行うためのクロスブラウザの方法は実際にはありません。Forms または window.open は、新しいタブではなく、新しいウィンドウを開きます。また、メモリ内にリンクを作成して javascript でクリックしようとしないでください。これは、セキュリティ機能として、chrome が新しいタブを開かないためです。