2

我正在尝试使用 JS 函数加载 youtube 视频。目的是让用户简单地将 youtube 视频 URL 复制并粘贴到输入字段中,然后让我的 JS 代码处理加载部分。不幸的是,我不确定为什么 js 代码没有加载任何视频?JS小提琴

JS:

<script>
       $(document).ready(function(){
        var last_cnad_text_1 = '';
        var options_cnad_text_1 = {
        embedMethod:'fill',
        maxWidth:320,
        maxHeight: 320
        };
        function loadVideo()
        {
        val = $('#cnad_text_1').val();
        if ( val != '' && val != last_cnad_text_1 )
        {
        last_cnad_text_1 = val;
        $("#embed_cnad_text_1").oembed(val,options_cnad_text_1);
        }
        }
        $(function(){
        $('#cnad_text_1').keydown(loadVideo());
        $('#cnad_text_1').click(loadVideo());
        $('#cnad_text_1').change(loadVideo());
        });
        });
​&lt;/script>

html:

<html>

<div class="col1">Insert a youtube video Link</div>
   <div class="col2">
   <input id="cnad_text_1" type="text" name="cnad[text_1]">
   <div id="embed_cnad_text_1">
   <iframe></iframe>
    </div>
</div>​

</html>
4

3 回答 3

1

$('#cnad_text_1').keydown(loadVideo());是错的。您正在立即调用该函数,而不是将其分配为事件的回调。删除()它应该可以工作:

$('#cnad_text_1').keydown(loadVideo);
$('#cnad_text_1').click(loadVideo);
$('#cnad_text_1').change(loadVideo);

实际上你可以更浓缩它:

$('#cnad_text_1').on('keydown click change', loadVideo);
于 2012-07-10T22:23:22.940 回答
0

我认为你最好使用'swfobject'为你做嵌入。您可以使用 jquery 简单地从文本框中提取值。

于 2012-07-10T22:23:41.700 回答
0

jsfiddle 不允许在演示中使用 iframe,所以这不起作用。

于 2012-07-10T22:27:46.557 回答