2010-03-30 55 views
3

我試圖加載jqtouch點播像這樣:如何加載jqtouch點播

<script type="text/javascript" src="js/jquery.js"></script> 
<script type="text/javascript"> 
    $(function() { 
     $.getScript("js/jqtouch.min.js", function() { 
      $.jQTouch(); 
     }); 
    });  
</script> 

Firebug的輸出:$(_ 3c.selector).tap不是一個函數

如果我將jqtouch.min.js包含在一個腳本中,就像我爲jquery.js所做的那樣,並且調用$ .jQtouch,一切都會正常工作。但是,我只想在需要時加載jqtouch,但是我似乎無法使其工作。我也嘗試做一個Ajax後jqtouch.min.js並收到相同的錯誤。

回答

2

當您按需加載jqtouch腳本時,$(document).ready事件在腳本加載之前觸發,所以jqtouch初始化腳本從不執行。

該解決方案吮吸....你必須修改jqtouch初始化腳本從

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

結合

$(document).bind('ready',function(){...}) 

...你必須修改自己的代碼來火加載腳本後準備好事件

<script type="text/javascript" src="js/jquery.js"></script> 
<script type="text/javascript"> 
    $(function() { 
     $.getScript("js/jqtouch.min.js", function() { 
      $(document).trigger('ready'); 
      $.jQTouch(); 
     }); 
    });  
</script>