想知道是否有人在使用Ember时有更好的方法来处理div外的点击?我知道使用全局点击处理程序的jQuery方法,你必须指定为某些实例采取的每个操作,但我希望有人想出一种方法在Ember视图中声明这个。同样,我尝试了'给一个div选项卡索引并使用on blur,但是Ember动作似乎不允许这样。
答案 0 :(得分: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);
},
这允许事件特定于每个视图实例,这正是我想要的。谢谢你们!
答案 1 :(得分:2)
您可能会发现ClickElsewhereMixin有用
只需在任何组件中包含mixin并实现onClickElsewhere()