【问题标题】:Javascript click function, how to avoid other links?Javascript点击功能,如何避免其他链接?
【发布时间】:2019-06-28 17:54:17
【问题描述】:

我有以下 javascript 将表格行转换为链接:

$("tr[data-link]").click(function() {
  window.location = $(this).data("link")
})

用于此表:

<tr data-link="<%= vendor_order_path(order) %>">
  <td class="center"><%= order.created_at %></td>
  ....
  <td class="center">
    <div class=""><%= order.fulfillment_status %>
      <a href="" class="form-show">Edit</a></div>
    <div class="form-hide">
    <%= form_for order do |f| %>
      <%= f.text_field :tracking_numbers %>
      <%= f.submit "Update Tracking" %>
    <% end %>
  </td>
</tr>

它工作正常,它应该如何工作,但我的问题是如果没有上述 JS 触发并链接到新页面,则无法单击底部表单的“编辑”...它使用此 javascript:

$(document).on('turbolinks:load', function(){
  $('a.form-show').click(function(event){
    event.preventDefault();
    $(this).parent().next('div.form-hide').toggle();
  });
});

如果不发生其他 javascript 链接重定向,我无法单击“编辑”。

我怎样才能做到这一点,当我按下“编辑”时,其他 javascript 不会触发?或者以某种方式将其置于编辑之下?

我喜欢它的工作方式,因为我用鼠标指针突出显示表格,并允许用户单击链接到他们单击的项目的“显示”页面。但我还需要编辑才能工作。

我能做什么?

【问题讨论】:

标签: javascript jquery ruby-on-rails


【解决方案1】:

尝试使用

event.stopPropagation()

【讨论】:

  • 虽然此代码可能(或可能不会)解决问题,但一个好的答案还应说明什么问题是什么以及代码如何提供帮助.
  • 我尝试使用 Dustin Gogoli 给我的链接中的答案,这就是其中之一。不幸的是,那没有用。我对javascript不太熟悉,但我相信这会阻止javascript链接一次触发?如果是这样,那可能不是问题,因为其他链接都很好。 “编辑”与其他 javscript 链接的链接在同一行
猜你喜欢
  • 2013-06-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-28
  • 2010-12-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多