【发布时间】:2013-12-15 19:28:23
【问题描述】:
Rails 提供了不同的开箱即用的 ajax 事件。 (更多信息可以在这里找到——https://github.com/rails/jquery-ujs/wiki/ajax,源代码可以在这里找到——https://github.com/rails/jquery-ujs/blob/master/src/rails.js#L125)
现在我有一个自定义小部件,其中定义了两个 _on() 方法。这是相关的代码片段:
_create: function() {
this._on(this.document, {
"ajax:beforeSend #some-form": function(event, xhr, settings) {
return console.log("Before send");
}
});
this._on({
// Event listeners for widget local events
});
}
我已经到了可以拥有两个_on() 方法的地步,并且两者都在工作。第一个监听 document 内部发生的所有事件(所以如果我有像 click * 事件这样非常琐碎的事情 - 它会起作用),第二个监听仅在小部件内触发的事件。
如果我将 rails 回调直接绑定到 $(document).ready 函数中的元素,一切正常。当我尝试将 rails ajax:beforeSend、ajax:success 和其他类似事件的事件侦听器添加到第一个 _on() 方法中时,问题就开始了——它根本不起作用。
任何想法如何将 Rails 事件与 jquery-ui 小部件事件侦听器结合起来?谢谢。
【问题讨论】:
标签: jquery ruby-on-rails jquery-ui jquery-widgets