草庐IT

jQuery Mobile 弹窗

runoob 2023-04-07 原文

jQuery Mobile 弹窗

弹窗是一个非常流行的对话框,弹窗可以覆盖在页面上展示。

弹窗可用于显示一段文本,图片,地图或其他内容。

创建一个弹窗,需要使用 <a> 和 <div> 元素。在 <a> 元素上添加 data-rel="popup" 属性, <div> 元素添加 data-role="popup" 属性。 接着我们为 <div> 指定 id, 然后设置 <a> 的 href 值为 <div> 指定的 id。 <div> 中的内容为弹窗显示的内容。

注意: <div> 弹窗与点击的 <a> 链接必须在同一个页面上。

实例

<a href="#myPopup" data-rel="popup" class="ui-btn ui-btn-inline ui-corner-all">显示弹窗</a>

<div data-role="popup" id="myPopup">
  <p>这是一个简单的弹窗</p>
</div>

尝试一下 »

如果你需要为弹窗添加内边距与外边距可以在 <div> 中添加 "ui-content" 类:

实例

<div data-role="popup" id="myPopup" class="ui-content">

尝试一下 »

关闭弹窗

默认情况下,点击弹窗之外的区域或按下 "Esc" 键即可关闭弹窗。 如果你不想点击弹窗之外的区域关闭弹窗可以在添加上添加 data-dismissible="false" 属性(不推荐)。 你也可以在弹窗上添加关闭按钮,按钮上使用 data-rel="back" 属性,并通过样式来控制按钮的位置。

描述 实例
右侧关闭按钮 尝试一下
左侧关闭按钮 尝试一下
使用 data-dismissible 属性 尝试一下

定位弹窗

默认情况下,弹窗会直接显示在点击元素的上方,如果需要控制弹窗的位置,可以在用于打开弹窗的点击链接上使用 data-position-to 属性。

控制弹窗位置的三种方式:

属性值 描述
data-position-to="window" 弹窗在窗口居中显示
data-position-to="#myId" 弹窗显示在知道的 #id 元素上
data-position-to="origin" 默认。弹窗显示在点击的元素上。

实例

<a href="#myPopup1" data-rel="popup" class="ui-btn" data-position-to="window">Window</a>
<a href="#myPopup2" data-rel="popup" class="ui-btn" data-position-to="#demo">id="demo"</a>
<a href="#myPopup3" data-rel="popup" class="ui-btn" data-position-to="origin">Origin</a>

尝试一下 »

过渡

默认情况下,弹窗是没有过渡效果的。如果你需要你可以通过 data-transition="value" 属性来添加过渡效果(jQuery Mobile 过渡):

所有过渡效果实例

<a href="#myPopup" data-rel="popup" class="ui-btn" data-transition="fade">Fade</a>

尝试一下 »

弹窗方向小边框

如果需要添加弹窗方向小边框,可以使用 data-arrow 属性,并指定值 "l" (左边), "t" (顶部), "r" (右边) or "b" (底部):

实例

<a href="#myPopup" data-rel="popup" class="ui-btn">打开弹窗</a>

<div data-role="popup" id="myPopup" class="ui-content" data-arrow="l">
  <p>左边框的方向。</p>
</div>

尝试一下 »

弹窗对话框

你可以将弹窗制作为一个标准的对话框 (头部, 内容和底部标记):

实例

<a href="#myPopupDialog" data-rel="popup" class="ui-btn">打开对话框弹窗</a>

<div data-role="popup" id="myPopupDialog">
  <div data-role="header"><h1>头部文本..</h1></div>
  <div data-role="main" class="ui-content"><p>一些文本..</p><a href="#">一些链接..</a>
  <div data-role="footer"><h1>底部文本..</h1></div>
</div>

尝试一下 »

图片弹窗

你可以在弹窗中显示图片:

实例

<a href="#myPopup" data-rel="popup" data-position-to="window">
<img src="/wp-content/uploads/2015/10/runoob.jpeg" alt="Runoob" style="width:200px;"></a>

<div data-role="popup" id="myPopup">
  <img src="/wp-content/uploads/2015/10/runoob.jpeg" style="width:800px;height:400px;" alt="Runoob">
</div>

尝试一下 »

弹窗背景覆盖

你可以使用 data-overlay-theme 属性在弹窗后添加背景颜色。

默认情况下覆盖的背景色的透明的。使用 data-overlay-theme="a" 添加浅色背景,使用 data-overlay-theme="b" 添加深色的覆盖背景:

实例

<a href="#myPopup" data-rel="popup">Show Popup</a>

<div data-role="popup" id="myPopup" data-overlay-theme="b">
  <p>在我身后有个深色背景。</p>
</div>

尝试一下 »

一般图片弹窗经常使用背景覆盖:

实例

<a href="#myPopup" data-rel="popup" data-position-to="window">
<img src="/wp-content/uploads/2015/10/runoob.jpeg" alt="Runoob" style="width:200px;"></a>

<div data-role="popup" id="myPopup" data-overlay-theme="b">
  <img src="/wp-content/uploads/2015/10/runoob.jpeg" style="width:800px;height:400px;" alt="Runoob">
</div>

尝试一下 »

注意: 在接下来的章节中,你将了解到如何在弹窗中使用表单。

有关jQuery Mobile 弹窗的更多相关文章

  1. 微信小程序 webview页面分享弹窗 - 2

    微信小程序webview中使用cover-view展示分享弹窗公司业务需要在webview中添加分享弹窗,可以发送给朋友及生成海报分享,因为好几个详情都需要这个功能,因此抽离了share-sheet的组件,ui效果如下图:点击分享,显示以下弹窗share-sheet.wxml如下:{!show}}"catchtouchmove="poptouchmove">发送给朋友生成海报取消share-sheet.js如下:Component({options:{addGlobalClass:true,},/***组件的属性列表*/properties:{//控制弹窗显示与否show:{type:Bool

  2. javascript - 如何防止IE11弹窗(您确定要离开此页面吗) - 2

    我正在处理一个页面,除了一个可供选择的下拉菜单外,我没有任何可输入的内容,但是在IE11中,当我尝试转到下一页时,它会弹出消息。我想防止这种弹出窗口发生。所以我只是想知道在IE11中弹出的默认行为是什么(因为它没有出现在Chrome或Firefox中)以及如何防止弹出 最佳答案 要问的一个更重要的问题是:“为什么IE11会弹出该警报?”。您是否为不安全的页面留下了安全的页面?IE。确保通过不明确指定协议(protocol)来调用安全预订API,或让浏览器选择:varurl='//api.booking_site.url/api_en

  3. javascript - 如何自定义(或禁用)JQueryMobile 中的自动 "back"按钮 - 2

    是否可以自定义(或简单地禁用)JQueryMobile中的自动“后退”按钮? 最佳答案 我想你正在寻找这个:http://jquerymobile.com/demos/1.0a3/#docs/toolbars/docs-headers.html要禁用它,只需在页面的标题div中包含data-backbtn="false"。 关于javascript-如何自定义(或禁用)JQueryMobile中的自动"back"按钮,我们在StackOverflow上找到一个类似的问题:

  4. javascript - 没有 hack 或其他路由器的 Backbone.js 和 jQueryMobile 路由 - 2

    我将backbone.js(0.5.3)与JQueryMobile(1.0beta2)一起使用。我知道一起使用这些库时会发生路由冲突,我想知道是否有使用它们的解决方案:无需像BenNolan的pots中描述的那样侵入jquery移动源代码:http://bennolan.com/2010/11/23/backbone-and-jquery-mobile.html并且不使用其他路由器,如jquerymobile-router(除非没有其他选择...)我的问题与这篇文章中描述的问题非常相似:jquery-mobilebackbone.jsrouting当我发出请求时,相应主干View的主干

  5. javascript - ASP.NET WebForm 中的 jQueryMobile - 2

    在ASP.NETWebForm应用程序中使用jQueryMobile是正确的方法吗?在ASP.NETWebForm中使用jQueryMobile或其他MobileJS库的优缺点是什么? 最佳答案 ASP.NETWebForms是一个很好的框架,但对于使用JavaScriptUI框架进行移动开发,您不需要其中的大部分内容。我将首先列出缺点,然后是替代方案,最后给出一些尽管有缺点但必须使用Web窗体的提示。ASP.NETWeb窗体的问题在于您并不总是能够完全控制HTML。这可以通过usingcontroladapters来缓解,通过避免

  6. javascript - 弹窗使用knockout js - 2

    我正在将我的一个旧jquery插件从DOMjungle迁移到这个奇特的mvvm框架knockout。我应该使用哪种技术来正确显示弹出容器?我必须“通过电话”填充它,因为我每次都会收到一个json提要。我尝试了一种使用with绑定(bind)的方法,但它仍会尝试在其第一次运行时填充部分内容。//Somebindingshere. 最佳答案 它也可以在没有自定义绑定(bind)的情况下完成。示例如下查看模型代码:self.showAlert=function(title,message,closeButtonText){self.pop

  7. javascript - 试图防止 jQueryMobile 滑动手势冒泡,但它不起作用 - 2

    我正在使用jQueryMobile并创建了一些类似于AndroidHoloTabs的东西:http://note.io/18RNMRk为了让滑动手势能够在选项卡之间切换,这是我添加的代码:$("#myPage#pageTabs").on('swipeleftswiperight',function(e){e.stopPropagation();e.preventDefault();});$("#myPage").on('swipeleft',function(){ui.activities.swipe(1);}).on('swiperight',function(){ui.activi

  8. javascript - jQueryMobile PhoneGap 应用程序上的后退按钮有时无响应 - 2

    我使用jQueryMobile(1.3.1)和PhoneGap(3.4)创建了一个应用程序,并将其蒙皮以具有相当“扁平”的界面:我遇到了一些麻烦,只有在iOS上,而且只是偶尔,只有一个特定屏幕上的“后退”按钮变得无响应。其他屏幕上后退按钮的相同HTML和CSS看起来不错,只是这个屏幕。这是在chrome中,在devtools中选择了按钮以突出显示其点击区域:为了更好的衡量,这里还有标题:此屏幕标题的代码对于应用程序中的几乎每个屏幕都是相同的:EventDetailBack我们发现,如果用户卡在这个屏幕上并强制关闭应用程序,该按钮似乎在后续使用中会按预期工作。所以我目前的理论是标题以某种

  9. javascript - 弹窗返回值 - 2

    我希望有人可以帮助我解决这个问题。我正在尝试做的是将弹出窗口中的值返回到使用javascript启动它的父窗口中。我试过的是调用(如在各种网站上所读)window.opener.document.forms[0].textField.value='value'但是虽然这不会产生任何错误,但它不会更改字段值。我曾尝试在网上搜索此问题的解决方案,但谷歌上有太多与“弹出返回值”相关的网站,结果可追溯到2000年,许多网站似乎相互冲突,所以我有点困惑。理想情况下,我更愿意做的是让弹出窗口等待做出决定(是或否),然后将true或false值从父窗口返回给调用函数。这样做的原因是,我有一个表单使用

  10. 微信小程序开发(八):page-container弹窗与share-element动画 - 2

    page-container页面容器,可以在当前页面中弹出一个半屏的弹窗、或者在页面内加载一个全屏的子页面。当page-container组件显示时,用户进行返回操作时会关闭page-container容器,而不会关闭当前页面。每个页面最多只能显示一个page-container,如果在一个页面代码中定义了多个page-container,只有文档流中的第一个page-container能正常显示。属性show:是否显示page-container组件duration:动画时长z-index:默认100,显示在其他元素的上层overlay:是否显示遮罩层position:page-contai

随机推荐