如何按需加载jqtouch

发布于 2024-08-27 05:58:26 字数 504 浏览 2 评论 0原文

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

I'm trying to load jqtouch on-demand like so:

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

Firebug outputs: $(_3c.selector).tap is not a function

If I include jqtouch.min.js in a script, like I did for jquery.js and call $.jQtouch, everything will work correctly. However, I'd like to load jqtouch only when I need to, however I can't seem to get it to work. I also tried doing an ajax post to jqtouch.min.js and received the same error.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

鯉魚旗 2024-09-03 05:58:26

当您按需加载 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>

When you load the jqtouch script on-demand, the $(document).ready event fires before the script is loaded, so the jqtouch initialization script is never executed.

The solution sucks....you have to modify the jqtouch script initialization binding from

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

to

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

...and you have to modify your own code to fire the ready event after loading the script

<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>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文