4

以下のコードについてあなたの助けが必要です。DIV 全体に onclick イベントを追加して URL にリダイレクトしたいのですが、DIV 内の子アンカーに含まれる href をバイパスできません。

つまり (目標は、画像またはテキストの任意の場所をクリックして google.com にリダイレクトすることです):

<html>
  <div onclick="location.href='http://www.google.com'">
    <div>
      <a href="http://en.wikipedia.org/">
        <img height="200" width="200" src="http://upload.wikimedia.org/wikipedia/commons/6/63/Wikipedia-logo.png">
      </a>
      Test
    </div>
  </div>
</html>

「file:///E:/​​Documents/Blog/Design/Tmp1.html」のようなローカル URL を使用すると、これはうまく機能します (理由はわかりません)。ありがとうございました。

更新: このリクエストの背後にあるアイデアを追加します: Blogger が個々の投稿に使用するのと同じルーチンで構築するブログのインデックス セクションにこれが必要です。インデックスでは、メインの Div をクリックするたびに投稿にリダイレクトされるようにしたいのですが、投稿内では画像をクリックすると画像の href に移動する必要があります。私の考えでは、「onclick」イベントは、インデックス セクションに対してのみ DIV に動的に追加されます。

4

3 に答える 3

3

これをインラインで実行したい場合 (お勧めしませんが、それはあなたのコードです)、return false;内側のアンカーに a を追加できます。

<html>
  <div onclick="location.href='http://www.google.com'">
    <div>
      <a href="http://en.wikipedia.org/" onclick="return false;">
        <img height="200" width="200" src="http://upload.wikimedia.org/wikipedia/commons/6/63/Wikipedia-logo.png">
      </a>
      Test
    </div>
  </div>
</html>

更新:リクエストのステップ2に基づいています(これは多くの理由でひどい、ひどい考えですが、うまくいきます):

<html>
  <div onclick="location.href='http://www.google.com'">
    <div>
      <a href="http://en.wikipedia.org/" onclick="if ( this.parentElement.parentElement.onclick ) { return false; }" id="demo">
        <img height="200" width="200" src="http://upload.wikimedia.org/wikipedia/commons/6/63/Wikipedia-logo.png">
      </a>
      Test
    </div>
  </div>
</html>
于 2013-06-05T20:59:41.430 に答える
0

JavaScript を使用して onclick ハンドラを設定します。コードは次のようになります。

document.getElementById("mydiv").onclick = function(){
    // navigate to new page
    window.location.href = 'URL';
}

id を div に追加し、getElementById 関数で適切に渡す必要があります。

于 2013-06-05T21:00:20.937 に答える
0

次のようなこともできます。

<div onClick="window.open('http://www.google.com','_blank');">

同じウィンドウで開きたい場合は、_blank を _self に変更します。

于 2013-06-05T21:02:05.393 に答える