【发布时间】:2015-10-25 19:13:04
【问题描述】:
我有一种情况,我将 Youtube 视频加载到容器中。本质上,当用户不关注他们在 YouTube URL 中输入的内容时,它会被包裹在一个 iframe 中,并嵌入到指定的容器中。
我的这部分代码似乎运行良好。问题出在用户从输入中删除其 URL 时。发生这种情况时,我需要容器恢复到原始状态。
我认为下面的代码不起作用。 .empty() 或 .remove() 似乎都没有删除 iframe 并将原始内容放回原处。
如果有人能够解决我的问题,将不胜感激。
<!-- input html -->
<div class="text-group">
<input class="text-input js-thumb" type="text" placeholder="URL" required>
</div>
<!-- container html -->
<div class="content-img-wrapper">
<div class="content-img-placeholder"></div>
</div>
// jQuery
$(document).ready(function() {
var thumbFetch = $('.js-thumb');
thumbFetch.blur(function() {
if(thumbFetch.length >= 1) {
$('.content-img-wrapper').html('<iframe width="100%" height="100%" src="http://www.youtube.com/embed/' + thumbFetch.val() + '?rel=0&controls=0&showinfo=0" frameborder="0" allowfullscreen></iframe>');
} else {
$('.content-img-wrapper').empty();
$('.content-img-wrapper').html('<div class="content-img-placeholder"></div>');
}
});
});
【问题讨论】:
-
var thumbFetch = $('.js-thumb');是输入标签吗? -
道歉。我现在将添加输入 html
-
thumbFetch.length >= 1- 你在这里检查了错误的东西,jQuery 对象$('.js-thumb')的长度 - 即 1,因为你在文档中有那个输入字段。您实际上想在模糊事件发生时检查该输入字段的 值,thumbFetch.val() !== ''
标签: jquery html iframe youtube