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 に答える