一般问题 当尝试集成 DOM Manipulating 3rd Party 库时,可能会出现问题。在这种特殊情况下,一个 jQuery Lightbox 插件引起了问题。
原始问题 目前我正在尝试将以下 Lightboxplugin 集成到 Ember 视图中:http ://codecanyon.net/item/jquery-lightbox-evolution/115655
这是我当前的视图代码:
App.LightboxView = Ember.View.extend({
templateName : 'whatever',
isVisible : false,
willInsertElement : function(){
var that = this;
$.lightbox(this.$(),{
width : 600,
height : 850,
onOpen : function(){
that.$().fadeIn(400);
that.set("isVisible", true);
},
});
},
});
这种方法工作得很好,因为它在将视图插入 DOM 的那一刻启动插件并且一切都显示得很好。Ember 似乎将 View 的结果 html 插入到 DOM 中,并且灯箱插件获取 DOM 元素并将其放置到灯箱工作所需的位置。但这就是问题的开始。在我看来,行动不再起作用。在我看来,我有一些 {{action}} 助手,但它们都不起作用(当我不使用灯箱时它们正在工作)。我认为这是因为插件对 DOM 进行了操作,但 Ember 希望成为唯一一个操作 DOM 的插件。
有人可以在这里提供一些指导吗?这是我第一次开发/使用灯箱,所以这可能会导致其他问题:-)