在外部.js文件中引用JQuery函数 - 语法?

时间:2012-06-17 14:45:13

标签: jquery

我感觉我错过了一些明显的东西,但我对这一切都不熟悉,所以请原谅我们的呼救!

我究竟应该如何调用我自己的jQuery函数存储在单独的.js文件中?我已经开发了我的应用程序的工作原型,但我现在正在尝试整理代码,并将各种jQuery函数移动到一个单独的文件中,我可以在每个页面上访问它们。但出于某种原因,我发现一旦我将其转换为命名函数,无论是在我的html文档的头部还是在单独的.js文件中,我都无法访问代码。至关重要的是,我无法找到实际调用函数的正确语法的简单引用!

无论如何,这里是相关的代码:

<head>

<link rel="stylesheet" href="jquery.mobilecus-1.1.0.min.css"/>
<script type="text/javascript" charset="utf-8" src="cordova-1.8.1.js"></script>
<script src="js/jquery-1.7.2.js"></script>
<script src="js/jquery.mobile-1.1.0.min.js"></script>
<script src="js/myjquery.js"></script>

</head>
<body onload="onBodyLoad()">

<div data-role="page" id="page1" class="page">

    <script type="text/javascript">
        $(document).ready(function () {
        alert("alert1!");
        $(InitRightBar());   /// This is the problem!
        });
        </script>
...
</div>
...
</body>

整个单独的&#34; myjquery.js&#34;文件:

$(function() { //ready

function InitRightBar (){
alert("alert2!");
$("#rightbar").live("swipeleft", function(){
                  $.mobile.changePage($("#page2"))
            });
}

}); //end ready

注意:警报1总是触发,但警报2从不触发,即使我把它放在html头中。我尝试了多种不同的语法而不是&#34; $(InitRightBar());

1 个答案:

答案 0 :(得分:2)

从你的JS文件,只保留这些行

   function InitRightBar (){
      alert("alert2!");
       $("#rightbar").live("swipeleft", function(){
              $.mobile.changePage($("#page2"))
        });
    } 

并删除第一行和最后一行。还要更改以下内容

   $(InitRightBar());   /// This is the problem!

   InitRightBar();