首页 > web前端 > js教程 > 如何在 Rails 4 和 5 中将 $(document).ready() 与 Turbo Links 一起使用?

如何在 Rails 4 和 5 中将 $(document).ready() 与 Turbo Links 一起使用?

DDD
发布: 2024-12-13 17:47:10
原创
194 人浏览过

How to Use $(document).ready() with Turbo Links in Rails 4 and 5?

在 Rails 4 中使用 $(document).ready() 和 Turbo-Links

在 Rails 4 中,通常将 JavaScript 文件组织成单独的实体并编译它们使用资产管道。然而,当启用 Turbo-links 时,使用 jQuery 的“ready”事件可能会带来挑战。由于涡轮链接避免了整页重新加载,因此后续页面单击会阻止“就绪”函数中代码的执行。

解决方案:

确保 jQuery 的正常运行具有 Turbo Link 的事件,请利用以下内容method:

CoffeeScript:

ready = ->

  ...your coffeescript goes here...

$(document).ready(ready)
$(document).on('page:load', ready)
登录后复制

这里,附加行监听 'page:load' 事件,由Turbo-links。

JavaScript:

var ready;
ready = function() {

  ...your javascript goes here...

};

$(document).ready(ready);
$(document).on('page:load', ready);
登录后复制

Rails 5 的替代方案(Turbolinks 5):

Rails 5引入了一个新事件“turbolinks:load”,该事件在初始页面和后续页面上触发负载。这使我们能够简化解决方案:

$(document).on('turbolinks:load', function() {

  ...your javascript goes here...

});
登录后复制

这种方法可确保当 Turbo 链接处于活动状态时 jQuery 事件按预期触发,从而允许在 Rails 4 应用程序上顺利运行 JavaScript 功能。

以上是如何在 Rails 4 和 5 中将 $(document).ready() 与 Turbo Links 一起使用?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板