2016-11-22 66 views
0

我正在研究一个项目,该项目有一个div的link_to,当点击时它会路由到指定的讨论。但是,我还在div中添加了一个span,充当“书签”按钮,它在按下时使用一些javascript来为讨论添加书签。但是,它也会激活link_to并将页面路由到讨论页面。有什么办法可以让link_to在用户点击span时不激活吗?当点击一个div内的跨度时,停止link_to

<%= link_to discussions_path(discussion_id: discussion.id) do %> 
    <div tabindex="4" class="discussion-item row"> 
    <h4 class="discussion-item-title"> 
     <%= discussion.title %> 
     <% if current_user %> 
     <span class="change-icon favorite-discussion" 
      data-id=<%=discussion.id.to_s%> 
      data-fav=<%= @favorite_discussions.include?(discussion) %>> 
      <% if @favorite_discussions.include?(discussion) %> 
      <i class="fa fa-star pull-right" id=<%="star#{discussion.id}"%>></i> 
      <% else %> 
      <i class="fa fa-star-o pull-right" id=<%="star#{discussion.id}"%>></i> 
      <% end %> 
      <i class="fa fa-star pull-right"></i> 
     </span> 
     <% end %> 
     <div class = "discussion-item-date pull-right"> 
     <% if discussion.created_at > Time.now.beginning_of_day %> 
      <%= time_ago_in_words(discussion.created_at) %> ago 
     <% else %> 
      <%= discussion.created_at.strftime("%b %d, %Y") %> 
     <% end %> 
     </div> 
    </h4> 
    <p class="discussion-item-description"> 
     <%= discussion.content %> 
    </p> 
    </div> 
<% end %> 
+0

这绝对不是HTML,看起来像ERB对我来说。 – Paul

+0

谢谢我添加了该标签。 – Walter

回答

0

第一:我不会窝在里面链接的跨度,但如果你是对设置或不能改变它...

我猜你正在使用jQuery。当您使用JS作为书签链接/跨度时,您可以使用:

event.preventDefault();