【问题标题】:Filterrific, trigger submitFilterForm on event from another libFilterrific,在来自另一个库的事件上触发 submitFilterForm
【发布时间】:2017-05-15 09:58:18
【问题描述】:

我在 Rails 项目中使用 Foundation 6 和 Filterrific gem。我想触发以下内容:

$(document).on('changed.zf.slider', Filterrific.submitFilterForm);

'changed.zf.slider' 是 Foundation 发出的事件。 Filterrific.submitFilterForm 是我想调用的函数。但是,即使我像这样绑定到事件,它也不起作用:

$(document).on('changed.zf.slider', function() { Filterrific.submitFilterForm() });

上面的代码是在浏览器中加载过滤器代码之后定义的。

这是 Filterrific jquery 代码的问题,还是我应该使用不同的方法绑定到事件?

如果我简单地将原始 Filterrific.submitFilterForm 方法体复制到我的绑定中,它就可以正常工作

$(document).on('changed.zf.slider', function() {
  var form = $("#filterrific_filter"),
      url = form.attr("action");
      $.ajax({...

...但感觉这不是正确的方法? ;)

【问题讨论】:

    标签: filterrific


    【解决方案1】:

    这里的棘手之处在于Filterrific.submitFilterForm 依赖于传递给它的this 上下文并查找父<form> 元素。

    所以你需要用正确的上下文调用函数,例如:

    $(document).on('changed.zf.slider', function() {
      Filterrific.submitFilterForm.call($('#filterrific_filter .slider'))
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-14
      • 1970-01-01
      • 2011-05-18
      • 1970-01-01
      • 2011-10-26
      • 1970-01-01
      相关资源
      最近更新 更多