我使用jQuery和Backbone为Github Star页面构建了一个chrome扩展。您可以在此处尝试:https://chrome.google.com/webstore/detail/gpmgjficglcobhpbbkbgklfcpmhpemnb,源代码位于:https://github.com/gregorym/galactic
我的问题如下,在页面上我插入了一个过滤存储库的文本字段。但有时当我输入太快时,我的事件会被触发但是没有被抓住......
这里触发事件的代码: https://github.com/gregorym/galactic/blob/master/app/views/stars/search.js#L25
以下是应该捕获它们的代码: https://github.com/gregorym/galactic/blob/master/app/views/stars/index.js#L14
知道可能导致问题的原因是什么?
谢谢, 格雷格
答案 0 :(得分:0)
您的侦听器位于self
这是一个Backbone视图,但是您在jQuery元素上触发。触发器和侦听器都必须位于扩展Backbone.Events的同一元素上。
PS看起来像是使用name.space = name.space || {}
命名所有内容 - 你最好实现一个命名空间函数,例如: ns('name.space.foo')
或ns('app.views.Home', Backbone.View.extend({...})