【问题标题】:stopping link_to when clicking on a span inside a div单击 div 内的跨度时停止 link_to
【发布时间】:2016-11-22 01:39:44
【问题描述】:

我正在开发一个项目,该项目在 div 周围有一个 link_to,单击该项目会路由到指定的讨论。但是,我还在 div 中添加了一个 span,它充当“书签”按钮,当按下该按钮时,它使用一些 javascript 为该讨论添加书签。但是,它也会激活 link_to 并将页面路由到讨论页面。有什么办法可以让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 %>

【问题讨论】:

  • 这绝对不是 HTML,在我看来像 ERB。
  • 谢谢我添加了那个标签。

标签: html ruby-on-rails erb


【解决方案1】:

首先:我不会将跨度嵌套在链接内,但是如果您设置了该跨度或无法更改它...

我猜你正在使用 jquery。当您将 JS 用于书签链接/跨度时,您可以使用:

event.preventDefault();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-07
    • 1970-01-01
    • 2018-01-23
    • 2023-04-10
    • 2014-07-14
    • 1970-01-01
    相关资源
    最近更新 更多