如何定义Javascript函数一次,以便在动态更改后工作?

如何定义Javascript函数一次,以便在动态更改后工作?,javascript,ruby-on-rails,Javascript,Ruby On Rails,似乎我的脚本只运行了一次,然后在调用另一个java脚本函数之后,直到刷新页面后才会执行。当然,我可以在另一个函数中调用这个函数,但我不想这样。我需要以某种方式定义函数,以便在每次动态更改后都可以执行。也许我需要事件处理程序或类似的东西?提前谢谢 application.js //= require jquery //= require jquery.turbolinks //= require jquery_ujs //= require turbolinks //= require boots

似乎我的脚本只运行了一次,然后在调用另一个java脚本函数之后,直到刷新页面后才会执行。当然,我可以在另一个函数中调用这个函数,但我不想这样。我需要以某种方式定义函数,以便在每次动态更改后都可以执行。也许我需要事件处理程序或类似的东西?提前谢谢

application.js

//= require jquery
//= require jquery.turbolinks
//= require jquery_ujs
//= require turbolinks
//= require bootstrap-sprockets
//= require bootstrap3-editable/bootstrap-editable
//= require bootstrap-datepicker/core
//= require bootstrap-datepicker
//= require_tree .

 var setXeditable;

$.fn.editable.defaults.mode = 'inline';

setXeditable = function() {
  return $("[data-xeditable=true]").each(function() {
    return $(this).editable({
      ajaxOptions: {
        type: "PUT",
        dataType: "json"
      },
      params: function(params) {
        var railsParams;
        railsParams = {};
        railsParams[$(this).data("model")] = {};
        railsParams[$(this).data("model")][params.name] = params.value;
        return railsParams;
      }
    });
  });
};

可以在引用动态字段的方法中调用该函数。您还可以让它以特定的速度运行。

使用MVVM框架,如Angular或React。它们的设计就是为了应对这种情况。你在使用TurboLink吗?然后javascript只在初始页面加载时运行一次,而不会在后续页面请求中运行。