3

我正在尝试像这样按需加载 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 发布并收到相同的错误。

4

1 回答 1

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>
于 2010-06-24T01:56:03.017 回答