【问题标题】:Events not captured未捕获的事件
【发布时间】:2012-08-27 21:12:49
【问题描述】:

我使用 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

知道是什么原因造成的吗?

谢谢, 格雷格

【问题讨论】:

    标签: javascript jquery backbone.js backbone-events


    【解决方案1】:

    您的侦听器位于 self 上,这是一个 Backbone 视图,但您在 jQuery 元素上触发。触发器和侦听器必须位于扩展 Backbone.Events 的同一元素上。

    PS 看起来你使用 name.space = name.space || {} 命名所有东西——你最好实现一个命名空间函数,例如ns('name.space.foo') 或 ns('app.views.Home', Backbone.View.extend({...})

    【讨论】:

    • PS 我说的是“扩展 Backbone.Events”,只是为了清楚起见 - 视图、模型、集合和路由器都扩展 Backbone.Events。
    猜你喜欢
    • 1970-01-01
    • 2020-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多