0

我将啤酒厂的网站转换为使用流星。在转换过程中,我遇到了一些库代码集成的错误。原站点使用 lightbox2 http://lokeshdhakar.com/projects/lightbox2/来弹出我们设计的图形模态。

在流星版本中,模态看起来像是即将加载,但只是直接导航到模态应该显示的图像资产。单击http://twbrewing.meteor.com/beers上的“查看 Brew Diagram”以查看实际问题。

对我来说,库代码似乎正在运行,但由于某种原因并不能阻止默认浏览器操作。我尝试在 click 事件上使用 preventDefault() ,但是什么也没发生。想法?

4

1 回答 1

1

在模板渲染函数中包装 HTML{{#constant}}...{{/constant}}并运行任何灯箱代码,例如

Template.pictures.rendered = function() {
   lightBoxInit();
}

我实际上不知道 lightbox 函数被称为什么......它要么是他们会在文档中告诉你在页面加载时运行的东西,要么是包装在$(document).ready()源代码中的调用中。更好的是,如果有一个 API 调用可以直接在元素上运行(类似于$('img').lightbox()or $('img').each(function(el) { lightbox(el) }).

抱歉,我对灯箱不太熟悉,但这是您需要的策略,也是您需要寻找的 :)

请注意,在重新渲染时也会调用渲染函数。这对大多数库来说都很好,但如果您发现任何奇怪的行为,您需要添加一些逻辑以确保相关链接不会被处理两次(通过使用 .data 布尔值或通过破坏并重新创建包装器)。

于 2013-07-21T08:30:57.913 回答