Jquery事件处理程序不在Rails应用程序中触发

时间:2013-11-12 20:09:39

标签: javascript jquery ruby-on-rails

我有一个Rails 4应用程序,并且在使用jquery事件处理程序/ turbo_links和touch vs click操作时遇到了一些麻烦。我的意思是,我绑定了所有处理程序,如:

//special bindings for turbolinks application for homepage dropdown nav
$(document).on('click',".dropdown",openDropdown);

//dropdown binding for manufactuers phillips container
$(document).on('click',".manufacturers-dropdown",revealContainer);

//toggle button for the see manufacturers detail click
$(document).on('click',".expand-toggle",ShowMoreInfo);

它在桌面上运行得非常好,并且可以像处理页面加载那样绑定处理程序,然后再回到页面操作。

PROBLEM

他们对移动设备没有约束力。我正在构建一个响应迅速的应用程序,并且在移动客户端(非桌面)上,事件处理程序不受约束,并且没有任何点击(触摸)做任何事情。我错过了什么吗?

传统上,我绑定处理程序,如:

$(document).ready(function(){
  //this is where the handers are attached
});

但是关于turbo_links的东西并不能很好地与jquery一起使用,所以这个选项已经出来了。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

2pt回答......

1:gem jquery-tubrolinks

2:// =需要jquery.turbolinks

最后, 不要将东西直接绑定到文档,而是像这样绑定:

 $(document).ready(function(){
   //special bindings for turbolinks application for homepage dropdown nav
   $(".dropdown").click(openDropdown);

   //dropdown binding for manufactuers phillips container
   $(".manufacturers-dropdown").click(revealContainer);

   //toggle button for the see manufacturers detail click
   $(".expand-toggle").click(ShowMoreInfo);
 });

good ol'document.ready再次运作!

谢谢! https://github.com/kossnocorp/jquery.turbolinks