【问题标题】:What is the "mobile-pagecontainer" selector什么是“mobile-pagecontainer”选择器
【发布时间】:2014-06-11 22:47:48
【问题描述】:

jQuery Mobile 有各种事件和方法。 pagecontainer 事件和方法用于处理来自v1.4 的大部分page 事件。我不明白:mobile-pagecontainer 选择器的用法。

API 文档只使用了$('.selector'),虽然简单易懂,但我不知道它指的是哪个对象。我应该在$('div[data-role="page"]')$('body') 上使用它吗?另一个选择器:mobile-pagecontainer 表示什么?

API:jQuery 1.4.0 API

编辑:另外,我在 stackoverflow 和其他网站上发现了很多使用 $(document) 的示例,这与所有这些有什么关系?

编辑 2:我创建了一个小小提琴,它使用所有 3 个选择器 $('body')$(':mobile-pagecontainer')$(document)Fiddle - PageContainer Events 来展示 pagecontainerbeforeshow 事件。我的心对@Omar表示感谢和感谢

【问题讨论】:

  • 我知道,我敲过他的门很多次,甚至准备阅读10页的文件,但找不到。 @NonameBilly,如果您发现任何文件,请建议任何文件:)
  • 大声笑,我喜欢你的措辞。

标签: javascript jquery jquery-mobile


【解决方案1】:

$(":mobile-pagecontainer")是一个选择器,它引用jQM页面的parent元素,包括internal页面和external 个。

默认情况下,:mobile-pagecontainerbody。也可以称为$.mobile.pageContainer(在pageContainer中注意大写“C”)。

.pagecontainer() 是一个函数,用于更改加载页面,以及检索活动页面

简而言之,$(":mobile-pagecontainer") = $.mobile.pageContainer = $("body")(默认)。

:mobile-pagecontainer 的值可以在mobileinit 上被覆盖,以防您想将页面包装在与body 不同的元素中。

$(document).on("mobileinit", function () {
  $.mobile.pageContainer = $("#foo");
});
  • 改变页面(假设foo是容器):

    $("#foo").pagecontainer("change", "#pageID or URL");
    
  • 加载外部页面:

    $("#foo").pagecontainer("load", "URL");
    
  • 检索活动页面

    $("#foo").pagecontainer("getActivePage");
    

【讨论】:

  • 我在发布此问题之前查看的最后一个文档是您的“github.com/jquery/jquery-mobile/issues/…”,感谢您的回复以及此处的详细说明。我对此有几个问题。即使在我在此评论中提到的其他链接中,您也使用了 $(document).on('pagecontainerhide',function(){...}); 为什么要使用 $(document) 选择器?
  • @Lordbalmon document 是包含所有 HTML 的 DOM 对象。通过它,您可以访问存在于 DOM 中的所有 HTML 元素。另请注意,.pageContainerpagecontainer events 不同。
  • 啊,我明白了,所以当您使用$(document) 使用on() 绑定事件时,您实际上是将它绑定到pagecontainer,但通过$(document) 访问。我说的对吗?
  • @Lordbalmon 没错。这些事件被发出然后委托。但是,并非所有这些都可以委托。请检查我之前评论中的链接。另外,这个one 会给你一些见解。
  • 谢谢@Omar,只有一件事,所以在jquerymobile官方页面中Pagecontainer的整个文档中,当他们引用$('.selector')时,它是页面容器的选择器,可以被委派通过documentbody(如果使用默认选项)或:mobile-pagecontainer 对吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-06
  • 2012-07-05
  • 1970-01-01
  • 2016-12-05
  • 2022-07-21
  • 2011-11-11
相关资源
最近更新 更多