【问题标题】:Using custom jquery with jquery mobile?在 jquery mobile 上使用自定义 jquery?
【发布时间】:2013-02-13 07:39:10
【问题描述】:

我在 jquery 移动网站中使用了一些自定义 jquery 事件。我在 jquery-mobile 包含之前包含了这个 custom.js——因为我相信这是正确的做法。 jquery 被首先包括在内。这些文件包含在每个页面上。

<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script src="/components/m/js/custom.js"></script>
<script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>

当我加载我的主索引页面时,没有使用 custom.js 的元素。当我点击一个页面进入更深的地方时,我的问题就出在哪里。因此,我单击一个链接以查看在 custom.js 中有事件的艺术家当 jquery mobile 执行此操作时,我的单击事件不起作用。

但是,如果我重新加载页面,自定义点击事件会正常工作。

我错过了什么?我应该使用 .live('click' 而不是 .click?

【问题讨论】:

  • 您是否已经尝试过使用 live('click')?在我看来,这将是最简单的方法。
  • 我注意到 live('click') 在触发时有点工作,但我的 ajax 调用不起作用。但是如果我刷新页面,它会工作得很好。所以宝贝步骤。
  • 这个更深的页面是否是一个多页(包含多个div 标记和data-role="page")jQM 文件?
  • 在您定义点击处理程序的位置也显示相关代码,包括放置它们的外部页面范围处理程序。
  • Mike,如果你想把你的自定义 js 文件发给我,我会告诉你有什么问题。我想我已经知道,要绑定到页面元素或页面的每个事件(页面事件除外)都必须绑定在适当的 jQM 页面事件中。

标签: jquery jquery-mobile


【解决方案1】:

在与 Gajotres 交谈后(通过上述 cmets 的电子邮件),我们得出以下结论。

我的自定义 js 文件实际上必须在 jQM 文件之后。

<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>
<script src="/components/m/js/custom-alt.js"></script>

另外,这是我的自定义 js 文件的样子:

$(document).bind("pageinit", function() {
    var btnAddComment = $('#btn-addcomment');

    // register functions with jqm framework
    $(btnAddComment).bind('touchstart mousedown', function(e){
        e.preventDefault();
        clickCommentAdd(); 
    }); 

    function clickCommentAdd() {
        $("#form-comment").toggle();
        return false;
    }
});

以前,我使用的是“mobileint”而不是“pageint”,引用自 Gajotres:

原因是,pageinit 事件仅在加载 jQuery Mobile js 文件时起作用。我还看到您甚至尝试过使用 mobileinit。出色地 该事件应该在 jQuery Mobile js 文件之前使用(到目前为止还不错),但是您可以使用它来绑定和单击事件,因为您 需要加载 jQM js 文件来初始化页面元素。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多