我有引用html ID的变量,例如

<div data-role="footer" id="ftrPaxFlight">
    <h4>&#169; 2012, BT</h4>
</div>


而且我有使用jQuery嵌入html的javascript,就像

<script>
  $(document).ready(function() {
            var ftrPaxFlight = $('#ftrPaxFlight');
    var butMainLogin = $('#butMainLogin');
    var butMainSetup = $('#butMainSetup');
       .....
      butMainLogin.bind("click", function() {
           getChangeFtr();
    });


其中getChangeFtr是位于外部.js文件中的函数。我想将逻辑与UI分开。该文件也包含在标签下

function getChangeFtr(){
     alert("Ftr will be changed " + ftrPaxFlight);
 }


单击按钮时..调用方法getChangeFtr(),出现错误


  TypeError-ftrPaxFlight未定义。


有人可以指导我使用jQuery将变量传递到多个javascript文件的正确方法吗?

最佳答案

有许多方法可以做到这一点,没有“正确的方法”。您可以使用全局变量,全局命名空间/单例,也可以仅使用参数在函数之间传递对象。在您的情况下,我将使用参数:

function getChangeFtr( elem ){
    alert("Ftr will be changed " + elem);
}


和:

butMainLogin.bind("click",function() {
    getChangeFtr( ftrPaxFlight );
});

09-25 19:22