想知道有没有人想出一个更好的方法来处理在使用Ember时在div之外的点击?我知道jQuery方式有一个全局单击处理程序,您必须为某些实例指定要采取的每个操作,但我希望有人能想出一种方法来在Ember视图中声明这一点。同样,我也尝试过给一个div一个标签索引并使用on blur,但是Ember的动作似乎不允许这样做。
发布于 2013-04-25 16:00:01
感谢您的投入。我返回并再次阅读了有关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);
},
这允许事件特定于每个视图实例,这正是我想要的。谢谢你们!
发布于 2015-03-26 20:03:50
您可能会发现ClickElsewhereMixin很有用
只需在任何组件上包含mixin并实现onClickElsewhere()
https://stackoverflow.com/questions/16203620
复制相似问题