4

请我需要您对以下代码的帮助。我想将 onclick 事件添加到整个 DIV 以重定向到 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

如果您打算内联执行此操作(不推荐,但这是您的代码),您可以将 a 添加return false;到内部锚点:

<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

你也可以尝试这样的事情:

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

如果您希望它在同一窗口中打开,请将 _blank 更改为 _self。

于 2013-06-05T21:02:05.393 回答
0

使用 javascript 设置 onclick 处理程序。代码看起来像这样:

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

您需要向您的 div 添加一个 id 并在 getElementById 函数中正确传递它。

于 2013-06-05T21:00:20.937 回答