带ID的锚标记只有在我执行时才会起作用"在新选项卡中打开"

时间:2018-03-07 09:48:45

标签: html anchor

我有一个非常奇怪的问题,我有一个带有锚标签的div,其中有一个id,当我点击锚标签时,它没有打开它中的链接,但如果我右键单击它并打开它一个新的标签,它完美地运作,你们知道为什么会这样吗?

这是我的例子:

<div class="toto">
  <a id="tutu" href="https://www.google.com" >my cocorico</a>
  <div>
    cocorico
  </div>
 </div>

这是一个jsfiddle:https://jsfiddle.net/mog8zf3t/5/

5 个答案:

答案 0 :(得分:1)

此问题是由使用jsfiddle而非html引起的。

代码在jsfiddle的iframe中运行,而Google特别阻止您通过设置&#39; X-Frame-Options&#39;来实现此目的。到#sameorigin&#39;

尝试在本地计算机上运行代码或选择一个允许您在iframe中显示的其他网站。

答案 1 :(得分:0)

&#13;
&#13;
function go_to_href(href){
		window.open(href,'_blank')

}
&#13;
.toto{
    background: grey;
    color: white;
    text-align: center;
    font-size: 1em;
    }
.toto a {
    display:block;
}
&#13;
<div class="toto" onClick="go_to_href('https://www.google.com')">
  <a id="tutu" href="">my cocorico</a>
  <div class="eps-Chip-content">
    cocorico
  </div>
</div>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

原因是帧和iframe的原因。两件事.1与@hairmot说的是同一回事。 SAMEORIGIN。

但第二个原因是当您的主网站有https网站https://jsfiddle.net/mog8zf3t/7/时,您无法在那里找到http链接。因此,您无法在该页面上打开http://jsfiddle.net链接。所以在实时使用中你应该考虑两者。

因此,为了观察这是你能做什么的原因。在浏览器上打开检查元素转到控制台部分。尝试单击链接并检查错误。

  

对于你提供的fiddlejs代码错误是同源的原因   问题(您提供的链接与主要链接不同   位点)。

答案 3 :(得分:0)

谢谢大家的回答,我发现了问题,而且是在我的js中,我点击了锚标签event.preventDefault();,这就是为什么它不是&#39;工作。把它拿走,它完美无缺。

这是我找到答案的地方:https://api.jquery.com/event.preventdefault/

答案 4 :(得分:0)

在我的情况下,经过几个令人沮丧的小时后,我发现周围的data-toggle="buttons"<div>。发布答案,因为这可能对某人有所帮助。