我正在尝试按需加载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,但是我似乎无法让它工作。我也试过给jqtouch.min.js做一个ajax帖子并收到同样的错误。
答案 0 :(得分: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>