在我的(修改过的)基础手风琴中没有阻止我的点击事件

时间:2013-06-17 14:20:57

标签: html accordion zurb-foundation

我有一个改良的基础4手风琴。我调整它的原因是我可以在我的节标题中设置行/列,并在其中挤出一个额外的列。

所以不要这样:

<p class="title" data-section-title><a href="#">Section 1</a></p>

我有这样的事情:

<div class="row">
  <div class="large-10 columns">
    <p class="title" data-section-title><a href="#">Modified HTML (uses div.row)</a></p>
  </div>
  <div class="large-2 columns">
      <p>extra column</p>
  </div>
</div> 

我的问题:未阻止点击事件。

继承人演示:(香港专业教育学院添加了向下滚动,以证明a-tag上的点击跳回到顶部。)

http://jsfiddle.net/pickledegg/nbJyu/4/

在正常情况下阻止点击的javascript位于foundation.section.js中。它结合到了foundation.min作为我的例子,所以这里是实际的未缩小代码:

https://gist.github.com/pickledegg/5797197

1 个答案:

答案 0 :(得分:2)

似乎是因为javascript中的这个

content = $this.siblings(self.settings.content_selector),

 if (!settings.deep_linking && content.length > 0) {
e.preventDefault();
}

上面的代码会阻止正常的点击行为。但是,在修改后的代码中,使用标题类在p周围添加2个容器。为了防止链接跟随代码,带有标题类的p和带有内容类的div必须是兄弟。因此,我可能只是在这里添加修改后的id:

p class="title" id="modified" data-section-title=""><a href="#">Modified HTML (uses div.row)</a></p>

和javascript:

    $('#modified').click(function(event) {
event.preventDefault();
       });

为我工作:)