0

我正在尝试构建一个应用程序来根据类别查看 YouTube 视频。用户看到一个类别的下拉列表,他选择了一个类别。div 'rContent' 填充了该类别中的链接列表。当用户单击其中一个链接时,YouTube 视频会在 iframe 中打开。问题是当用户点击视频在 Firefox 中显示但在 Chrome 中不起作用的链接时。没发生什么事。

<!-- Dynamically retrieved list of videos shown here, see sample below -->
<div id="rContent"></div>             

<!-- YouTube video will be shown in this iframe-->
<div class="video-container">
    <iframe id="userVideo" src="" frameborder="0" width="560" height="315"></iframe>
</div>

<script>    
$("#rContent").on('click', '.vid_trigger', function() {
    var URL = $(this).attr('href'); 
    $(userVideo).attr('src',URL)
    return false;   
});
</script>

<!--- sample of dynamic content -->
<a class="vid_trigger" href="http://www.youtube.com/embed/fgqpHl5OGFA?rel=&autoplay=1"> … </a><br></br>
<a class="vid_trigger" href="http://www.youtube.com/embed/c-d4rDY70zk?rel=&autoplay=1"> … </a><br></br>
4

3 回答 3

0

你试过 preventDefault 吗?您应该使用 preventDefault ,这是单击链接时的默认行为。

除了链接不应该在 div #rContent 内吗?您正在使用 .on ,因此链接应该在父级内部。

于 2013-07-27T03:26:50.947 回答
0
<!-- Dynamically retrieved list of videos shown here -->
<div id="rContent">
    <a class="vid_trigger" href="http://www.youtube.com/embed/fgqpHl5OGFA?rel=&autoplay=1"> … </a><br></br>
    <a class="vid_trigger" href="http://www.youtube.com/embed/c-d4rDY70zk?rel=&autoplay=1"> … </a><br></br>
</div>             

<!-- YouTube video will be shown in this iframe-->
<div class="video-container">
    <iframe id="userVideo" src="" frameborder="0" width="560" height="315"></iframe>
</div>

<!-- script must be placed after DOM elements -->
<script type="text/javascript">    
    $("#rContent").on('click', '.vid_trigger', function() {
        $('#userVideo').prop('src', this.href)
        return false;   
    });
</script>

小提琴

于 2013-07-27T03:30:36.437 回答
0

这条线

$(userVideo).attr('src',URL)

应该是这样的:

$('#userVideo').attr('src', URL); //select using id selector
于 2013-07-27T03:31:38.800 回答