【发布时间】:2014-07-01 10:13:21
【问题描述】:
我想在 Magnific 弹出窗口 http://dimsemenov.com/plugins/magnific-popup/ 中显示 youtube 视频。我从一个 JSON 文件中获得的 youtube 视频的 URl,我使用 HandlebarsJS 将其插入到我的 HTML 中。到目前为止一切顺利,当我使用 webinspector 检查<a href> 时,正确的链接可用。
尽管如此,当我点击它时,Magnific 弹出窗口会打开,但 youtube 视频没有触发,而是收到一条错误消息。似乎一旦弹出窗口打开,或者更确切地说,当 Magnific 弹出窗口被触发时,它就会完全脱离我的 BackboneJS 应用程序。这是真的吗?
在我的 HTML (video.html) 中,我有:
<a class="vidPopup" href="youtubelink here">
在主干视图中我创建了事件:
template: 'video', //referring to the video.html
events: {
'click .vidPopup': 'seeVid'
},
seeVid: function(e) {
e.preventDefault();
$('.vidPopup').magnificPopup({
disableOn: 700,
type: 'iframe',
mainClass: 'mfp-fade',
removalDelay: 160,
preloader: false,
fixedContentPos: false
});
}
这可能是什么问题?
【问题讨论】:
-
seeVid 在渲染后被调用? + 最好使用 this.$el.find('.vidPopup') 而不是 $('.vidPopup')
-
这没有解决它:-/
-
在 view render() 之后调用 seeVid 吗?
-
嗯,真的没有得到你的问题 - seeVid 是一个点击事件:s
标签: backbone.js youtube handlebars.js magnific-popup