1

我的主要 html 中有以下内容:

jQuery(document).ready(function(){
jQuery('body').flvplay(songlist, {something});});

我想将它移动到一个单独的 JS 文件并从主 html 进行函数调用。我使用以下内容创建了新的 JS:

play()
{
jQuery('body').flvplay(songlist, {something});
}

最后,在包含新的 JS 文件后,我从主 html 中调用了 play 函数:

<script type="text/javascript">
play();
</script>

由于某种原因,这不起作用。以上有什么问题吗?感谢您的帮助。

4

2 回答 2

3

您需要使用function关键字声明函数:

function play()
{
    jQuery('body').flvplay(songlist, {something});
}

此外,您删除$(document).ready(...)了 ,这很重要,否则您可能会尝试操作由于尚未加载而不存在的元素。您可能希望将调用代码修改为如下所示:

$(document).ready(function() {
    play();
});

如果不使用function关键字,则引用文件中的代码将被解析如下:

play()  // call the function `play` (which has not yet been defined)
        // as it does not yet exist, an error is thrown and execution is halted
{  // open a block (which is not useful here,
   //               since JavaScript has no block scope)
     jQuery('body').flvplay(songlist, {something});  // do something with body
}
于 2012-08-05T00:48:07.073 回答
0

之前没有function关键字play()

function play()
{
    jQuery('body').flvplay(songlist, {something});
}
于 2012-08-05T00:49:09.450 回答