Javascript функция щелчка, как избежать других ссылок? - PullRequest
0 голосов
/ 28 июня 2019

У меня есть следующий 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 не срабатывал?Или каким-то образом поместить его под Edit?

Мне нравится, как он функционирует, так как у меня есть подсветка таблицы с указателем мыши и позволяющая пользователям нажимать ссылку_ на страницу "show" элемента, который они нажимают ..Но мне также нужно, чтобы Редактирование работало.

Что я могу сделать?

1 Ответ

0 голосов
/ 28 июня 2019

Попробуйте использовать

event.stopPropagation()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...