javascript - jquery 仅在我刷新页面以切换 Rails 应用程序时才起作用

标签 javascript jquery html ruby-on-rails capybara

仅当我刷新页面时,在 Rails 应用程序上显示部分 div 的切换操作才有效。如果我单击该页面的链接,所有切换按钮都已打开并且不会对单击使用react。任何帮助将不胜感激!另外,如果有人有关于如何使用 Capybara 进行测试的提示,那就太好了。

这在我的应用程序/ Assets /javascripts

$(document).ready(function(){
  $(".donation-time").hide()
  $(".donation-candidate").on("click", function(event){
    $(this).siblings().first().toggle();
    $("span", this).toggleClass("glyphicon-chevron-right glyphicon-chevron-down");
  })
})

这是我所使用的 View 的一部分,它是完全打开和可见的部分,而不仅仅是单击页面后可见的 .donation-candidate。

<div class="donation-candidate">
  <h3><span class="glyphicon glyphicon-chevron-right"></span> <%= candidate_issue.name %></h3>
  <div style="margin-left: 32px;"><h4><%= candidate_issue.stance %></h4></div>
</div>


<div class="donation-time">
  <div style="margin-left: 32px;">
    <%= form_for Donation.new, url: donations_path do |f| %>
      <%= f.label :amount %>
      <%= f.hidden_field :candidate_issue_id, value: candidate_issue.id %>
      <%= f.number_field :amount, in: 1.0..2700.0, step: 1.0 %>
      <%= f.hidden_field :issue_id, value: candidate_issue.issue_id %>
      <%= f.submit "Donate" %>
    <% end %>
  </div>
</div>

第一次使用 jquery 或 javascript,所以不太确定在哪里查看。如果您有关于如何使用 capybara 进行测试的提示,那就太好了。我在场景中包含了 js: true ,并将 selenium 作为 gem 包含在内,但我不确定如何单击打开 div,因为它显然不是按钮或链接。谢谢!

最佳答案

您使用涡轮链接吗? $(Document).ready() 需要使用 Turbolinks 的解决方法,如本文 use document ready with turbopinks 中所述。

关于javascript - jquery 仅在我刷新页面以切换 Rails 应用程序时才起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32809028/

相关文章:

java - 如何使用 Jquery 将多个值传递给 servlet

html - 无法垂直对齐单选按钮

php - 添加收到新订单时的声音

javascript - 有效地显示和隐藏菜单项

javascript - iPad Safari 按钮高亮问题

jquery - $.post/$.ajax 代码在超时后完成,但仍然执行来自服务器的调用

javascript - 使用 jquery 的简单 .animate

javascript - 使用 Javascript 简单隐藏/展开

jQuery Mobile 和文本区域行

python - 使用 Python BeautifulSoup 解析 HTML 表格