【发布时间】:2012-08-15 15:15:26
【问题描述】:
我的页面上 div 内的链接有问题。目前,当点击链接时,没有任何反应。我不明白为什么,但我想这与在包含的 div 上使用 hide() 和 show() 有关,我将在下面解释。
div 是自定义“手风琴”的一部分,它使用以下 Jquery 在单击标题时打开/关闭正确的 div:
$('.accordion .head').click(function () {
$('.accordion .head').next().hide();
$('.accordion .head').removeClass("active");
$(this).next().show('fast');
$(this).addClass("active");
return false;
});
我知道有更好的方法来实现“手风琴”行为,但是因为我们的网站都使用了这种方法,所以我没有选择更新手风琴来使用实际的 Jquery 手风琴()方法而不做很多为自己做额外的工作。
那么,鉴于下面的示例代码,任何人都可以帮助我理解这里的问题是什么,或者如何克服它?
<div class="accordion">
<div class="head active"><a href="#">Heading 1</a></div>
<div class="accordion-content first">
<p>
Some text here
</p>
<div class="accordion-logos">
</div>
</div>
<div class="head"><a href="#">Heading 2</a></div>
<div class="accordion-content">
<p>
Some other text here
</p>
<p>
<a href="http://www.google.com">http://www.google.com</a>
</p>
</div>
</div>
当我专门处理它时,我什至无法获得点击注册,当点击链接时,下面代码中的警报永远不会触发:
$('.accordion .accordion-content #thelink').click(function () {
alert();
});
谢谢,
玫瑰
【问题讨论】:
-
this JSfiddle example 使用您提供的代码不会阻止 google 链接触发,这让我相信肯定有其他 Javascript 劫持了您提供的点击事件
-
嗨,西蒙,感谢您对此的帮助。我查看了 JSfiddle 示例,我可以看到您是对的,除非有其他一些 javascript 阻止该链接,否则该链接应该可以工作。我将不得不一次关闭一个脚本,直到我能找出原因。感谢您抽出宝贵时间查看此内容!
-
@LRose:我编辑了我的答案,现在我正确理解了问题,并就如何查明可能出现的问题提出了一些建议。
标签: jquery hyperlink show-hide clickable