Filterrific,触发来自另一个lib

时间:2017-05-15 09:58:19

标签: filterrific

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

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

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

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

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

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

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

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

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

1 个答案:

答案 0 :(得分:1)

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

因此,您需要使用正确的上下文调用该函数,例如:

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