JavaScript活动听众,带有Turbolinks和Ajax
#javascript #discuss #rails #jquery

您遵循哪些最佳实践,以维持铁轨应用中的一组干净,逻辑的初始化器集,将Turbolinks和Ajax考虑到?

我看到了整个应用程序初始化和单个功能侦听器,同时查看了各种开源应用程序。像这样设置了一些Rails应用程序上的一些大红宝石:
https://github.com/forem/forem/blob/main/app/assets/javascripts/base.js.erb
https://github.com/gitlabhq/gitlabhq/blob/master/app/assets/javascripts/main.js

我一直在开发较小的铁轨应用程序,我发现它最容易建立独立的听众,类似于此:

// Turbolinks and AJAX listeners
$(document).on('turbolinks:render ajaxSuccess', function () {
  some_function();
}); 

// Document ready
// (Older versions of jQuery let me put ready in the first listener)
$(document).ready(function() {
  some_function();
});

单击和更改侦听器的添加类似于此:

$(document).on('click', '.my-class', function() {
  some_function();
});