首页 >web前端 >js教程 >如何确保 jQuery 事件与 Rails 4 和 Turbo Links 一起正常工作?

如何确保 jQuery 事件与 Rails 4 和 Turbo Links 一起正常工作?

Linda Hamilton
Linda Hamilton原创
2024-12-14 18:46:18852浏览

How Can I Ensure jQuery Events Work Correctly with Rails 4 and Turbo Links?

Rails 4:使用 Turbo-Links 增强 jQuery 事件功能

在 Rails 4 应用程序中组织 JavaScript 文件时,遇到这种情况并不罕见jQuery 的“ready”事件的问题。启用 Turbo-Links 后,此事件无法在后续点击时触发,从而使 read(function($) {} 内的事件处理程序处于非活动状态。

要解决此挑战,解决方案涉及实现 Rails 特定的侦听器或利用 Rails 自己的机制来确保事件功能。

一种有效的方法是在 CoffeeScript 或 JavaScript 中定义函数:

ready = ->
  ...your coffeescript goes here...

$(document).ready(ready)
$(document).on('page:load', ready)

This方法使用 page:load 事件,涡轮链接在页面加载后触发。

对于 Rails 5 应用程序(使用 Turbolinks 5),page:load 事件已替换为 Turbolinks:load,该事件在初始时触发因此,以下事件监听器就足够了:

$(document).on('turbolinks:load', function() {
  ...your javascript goes here...
});

通过实现这种方法,jQuery 事件功能可以与无缝集成。涡轮链接,确保初始和后续页面加载时的事件处理。

以上是如何确保 jQuery 事件与 Rails 4 和 Turbo Links 一起正常工作?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn