7

想知道是否有人在使用 Ember 时想出了更好的方法来处理 div 外部的点击?我知道带有全局单击处理程序的 jQuery 方式,您必须指定对某些实例要执行的每个操作,但我希望有人想出了一种在 Ember 视图中声明它的方法。同样,我尝试了 ol' 为 div 提供选项卡索引并使用 on blur,但 Ember 操作似乎不允许这样做。

4

2 回答 2

7

感谢您的输入。我又回去阅读了关于 jQuerys 的文档.on。我不知道您可以为事件命名。所以我接受了这两条评论并将它们与类似的东西结合起来。

didInsertElement: function() {
    Ember.run.next(this, 'attachClickHandler');
},

attachClickHandler: function (){
    var temp = this;

    $(window).on("click." + temp.elementId, function (e){
        //...event here
    });
},

detachClickHandler: function (){
    $(window).off("click." + this.elementId);
},

这允许事件对每个视图实例都是特定的,这正是我想要的。多谢你们!

于 2013-04-25T16:00:01.170 回答
2

你可能会发现ClickElsewhereMixin很有用

只需在任何组件上包含 mixin 并实现 onClickElsewhere()

于 2015-03-26T20:03:49.610 回答