JavaScript for Bootstrap下拉菜单有时起作用,有时不起作用
JavaScript for Bootstrap dropdown sometimes works, sometimes doesn't
我使用Bootstrap下拉菜单,如下所示:
%ul.hidden-xs.hidden-sm
%li= link_to "LIBRARY", library_path
%li= link_to "PRICING", plans_and_pricing_path
%li.dropdown
.dropdown-toggle{"aria-expanded" => "false", "aria-haspopup" => "true", "data-toggle" => "dropdown"}= link_to "#{current_user.first_name} <i class='fa fa-caret-down'></i>".html_safe, '#'
%ul.dropdown-menu
%li= link_to 'Edit profile', edit_user_registration_path(resource), class: 'user-nav-li'
%li= link_to 'Referrals', referrals_path, class: 'user-nav-li'
%li= link_to "LOG OUT", destroy_user_session_path, method: :delete
有时有效,有时无效。当点击下拉菜单时,我试着查看检查器中的元素(在它不起作用的时候),我可以看到事件触发。%li.dropdown
应该加入open
类,aria-expanded
应该从true
变为false
。这就是它工作时发生的事情。然而,当它不起作用时,元素保持不变,只是在检查器(Chrome)中简单地突出显示,就像元素被改变时一样。
这告诉我JS正在加载,因为它至少响应点击事件。但是没有别的事情发生。
我试着寻找模式。刷新有时会修复它,但有时会触发问题。有时导航到另一个页面会修复它,但有时不会。没有一个页面的行为是一致的。我想这应该无关紧要,因为它在我的导航栏里,在应用程序层面。
我不知道还能尝试什么。一切似乎都是随机的。
旁注:我不是JavaScript专业人士
正如我所说的,罪魁祸首是turbolinks
。添加gem jquery-turbolinks
应该可以解决这个问题。
#Gemfile
gem 'jquery-turbolinks'
并运行bundle install
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 监视函数从服务返回不起作用,但作用域函数起作用
- 幻灯片滚动javascript不起作用
- 点击更改顶部位置不会有任何作用
- 添加此并确保页面不会挂起
- 使用指令的作用域而不是控制器的作用域
- 我如何将这个javascript/jQuery转换为一个"不内联”;作用
- 为什么AngularJS的服务不绑定到作用域?
- 为什么$.fn.find()中的选择器不能引用当前$作用域之外的树?
- 为什么我的内部内部函数可以访问外部全局作用域变量?这是不是违反了作用域/闭包
- 动态添加或复制指令不会从父作用域获取变量值
- 带有双向绑定的孤立作用域指令不能反映控制器作用域的变化
- 指令不会在父作用域的$http response之后更新作用域
- 隔离作用域2的方式绑定不会更新父作用域的值
- jQuery函数不能访问全局作用域
- 如何记录60MB以上的HTML5拖放文件的内容而不会挂起几分钟
- 全球.Eval不能访问词法作用域中的变量.行为是否符合ECMAScript标准
- 使用JavaScript向Restful Java Services发布不起JSON的作用
- 使用 jQuery / 更改链接文本 ASP.NET 不会立即起作用
- 嵌套函数不能看到外部作用域