开发者问题收集

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

2013-11-12
756

我有一个 Rails 4 应用程序,在 jquery 事件处理程序/turbo_links 和触摸与点击操作方面遇到了一些问题。我的意思是,我绑定了所有处理程序,例如:

//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);

这在桌面上运行得很好,并且像它们应该在页面加载时那样绑定处理程序,然后返回到页面操作。

问题

它们在移动设备上没有绑定。我正在构建一个响应式应用程序,在移动客户端(非桌面)上,事件处理程序没有被绑定,并且所有点击(触摸)都不起作用。我遗漏了什么吗?

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

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

但 turbo_links 的某些方面与 jquery 不能很好地配合,所以这个选项不适用。有什么建议吗?

1个回答

2pt 答案...

1:gem jquery-tubrolinks

2://= require 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);
 });

老好的 document.ready 又能用了!

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

Alex Neigher
2013-11-12