单击下拉菜单中的字段时,菜单将关闭。 我已经看到了一些与此相关的问题(here和here),但停止传播并不适合我。
这是我的下拉列表的HTML。
<div id="shifted_navbar_left">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Log-In <b class="caret"></b></a>
<ul class="dropdown-menu">
<div id="dropdown_log_in">
<h3> Engineer Sign-in</h3>
<%= form_for(:engineer, :url => new_session_path(:engineer)) do |f| %>
<%= f.label :email %> <br>
<%= f.text_field :email %> <br />
<%= f.label :password %> <br>
<%= f.password_field :password%> <br />
<%= f.check_box :remember_me %>
<%= f.label :remember_me %> <br />
<%= f.submit 'Sign in', class: "btn btn-primary"%> <br />
<%= link_to "Forgot your password?", new_password_path(:engineer) %>
<% end %>
</div>
</ul>
</div>
我正在打电话
<script type="text/javascript">
$('.dropdown-menu input, .dropdown-menu label').click(function(e) {
e.stopPropagation();
});
</script>
来自我的application.html.erb头文件部分。点击后下拉列表仍然消失!我需要拿起我的javascript游戏,但我觉得这应该有效..在rails中有什么阻止javascript运行吗?
的Gemfile
#Use jquery as the JavaScript library
gem 'jquery-rails'
gem 'turbolinks'
gem 'jquery-turbolinks'
我的application.html.erb标记
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
<%= csrf_meta_tags %>