`
longgangbai
  • 浏览: 7338027 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JQueryMobile在一个页面外调用对话框

阅读更多

jquerymobile打开dialog的主页面:

<!DOCTYPE HTML>
<html>
  <head>
    <title>页面外对话框的使用 页面外的对话框的生命周期</title>
    <meta name="viewport" content="width=320; user-scalable=no" />
    <meta http-equiv="Content-type" content="text/html; charset=utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1"> 
	<script src="jquery.mobile/jquery.js"></script>
	<script type="text/javascript" charset="utf-8" src="jquery.mobile/jquery.mobile-1.1.0.js"></script>
	<script type="text/javascript" charset="utf-8" src="phonegap-1.4.1.js"></script>
	<link rel="stylesheet" href="jquery.mobile/jquery.mobile-1.1.0.css" />
	<!--
	当我们弹出一个对话框后,我们可能需要再它的不同的生命周期中去注册不同的回调函数或事件,
	因此理解各个事件的顺序是很有必要的。
	dialog非同一个页面,点击dialog打开按钮的生命周期如下:
	1. pagebeforeload
	2. pagebeforecreate
	3. pagecreate
	4. pageinit
	5. pageload
	6.pageshow
	7.pageremove
	8.pagehide
	
	-->
	<script type="text/javascript" charset="utf-8">
	//页面外的对话框的生命周期如下
	$(document).bind("pagebeforeload", function (event, data) {
	        alert('1.页面加载之前事件(pagebeforeload)!');
	});
	$('#aboutPage').live('pagebeforecreate', function (event) {
	        alert('2.页面替换相关的都dom的事件(pagebeforecreate)!!!');
	})
	    
	$('#aboutPage').live('pagecreate', function (event) {
	        alert('3.页面开始创建(pagecreate)需要绑定相关的事件(主要指初始化对话框以及对话框中的信息)!');
	        
	        $("#dealPersonSetting").click(function () {
	            alert("对话框事件提交");
	        });
	        $("#closedialog").click(function(){
	            alert("对话框时间取消");
	        });
	});
	
	$('#aboutPage').live('pageinit', function (event) {
	        alert('4.页面初始化过程中....(pageinit)!!!');
	});
	$(document).bind("pageload", function (event, data) {
	        alert('5.页面加载时间哦pageload!');
	});
	$('#aboutPage').live('pageshow', function (event) {
	        alert('6.页面对话框pageshow!');
	});
	$('#aboutPage').live('pageremove', function (event) {
	        alert('7.页面对话框dom去掉 事件(pageremove)!');
	});
	$('#aboutPage').live('pagehide', function (event) {
	        alert('8.页面对话框隐藏时间pagehide!');
	});
   </script>  
  </head>
  <body >
<div  data-role="page" id="main" data-theme="b"   data-add-back-btn="true"  >   
		<div data-role="header"  data-position="fixed">  
		 <a   data-icon="arrow-l" data-rel="back" >返回</a>               
		 <h1>发布工单</h1>     
		 <a href="indexorder.html" data-ajax="false"  data-icon="home" data-iconpos="right" data-direction="reverse" class="ui-btn-right jqm-home">Home</a>     
		</div><!-- /header -->  
			<!-- content -->
			<div data-role="content" class="content" data-theme="b"  >
					<form method="post" id="loginform">
					<!--   
					如果要弹出一个对话框,可以在页面中添加一个按钮
					 -->
                     <a href="./dialog.html" data-role="button" data-inline="true" data-rel="dialog" data-transition="pop">打开对话框</a>
					</form>
			</div>
	</div>
  </body>
</html>

 

 

对话框页面如下:

<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<!-- 
再看看dialog.htm的内容,注意对话框是个单独的页面,
jquery mobile将以Ajax方式加载到事件触发的页面,因此dialog.htm
页面不需要Header,content,footer之类的文档结构,
以下代码就是全部dialog.htm的内容

 -->
<div data-role="dialog" id="aboutPage">
						 <!-- header -->
			<div data-role="header" data-role="header" > 
				<h1>调查说明</h1>
			</div>
		   <!-- content -->
			<div data-role="content"  data-theme="b"  >
			<div data-role="fieldcontain">
	      <div  data-role="fieldcontain">
			 	<fieldset data-role="controlgroup" >
					<legend >你喜欢的水果:</legend>
					<input type="checkbox" name="checkbox-1a" id="checkbox-1a" class="custom" />
					<label for="checkbox-1a">Cheetos</label>

					<input type="checkbox" name="checkbox-2a" id="checkbox-2a" class="custom" />
					<label for="checkbox-2a">Doritos</label>
					
					<input type="checkbox" name="checkbox-3a" id="checkbox-3a" class="custom" />
					<label for="checkbox-3a">Fritos</label>

					<input type="checkbox" name="checkbox-4a" id="checkbox-4a" class="custom" />
					<label for="checkbox-4a">Sun Chips</label>
			    </fieldset>
			</div>
			</div>
			<div class="ui-body ui-body-b" align="center" data-role="fieldcontain">
							<fieldset class="ui-grid-a" data-type="horizontal" >
                                    <a id="dealPersonSetting"  
                                    	data-role="button" 
                                    	style="width: 40%;"  
                                    	data-inline="true" 
                                    	data-rel="back" 
                                    	href="#"
                                    	data-theme="b">提交</a>
									<a 
									   id="closedialog"
									    href="#"
										data-role="button"
										data-rel="back" 
										style="width: 40%;" 	
										data-inline="true">取消</a>
						    </fieldset>
			</div>
		</div>
	</div>

 

分享到:
评论

相关推荐

    jQueryMobile-HTML5模板

    这个资源包含了多套jQuery Mobile模板,它们是预先设计好的界面布局,可以帮助初学者快速入门。每套模板都展示了不同的设计风格和功能组合,比如: 1. **基础模板**:包含最简单的页面结构,适合学习jQuery Mobile...

    MVC4 JQuery Mobile建立对话框的专业实践.

    JQuery Mobile则是一个专门针对移动设备优化的JavaScript库,它简化了移动Web应用的开发,提供了触屏友好的界面和交互。 2. **创建对话框Controller** 在MVC4中,我们需要创建一个新的Controller来作为对话框的...

    jqueryMobile-ui

    - **初始化**: 在页面中引入 jQuery 和 jQuery Mobile 的库文件,然后在文档加载完成后调用 `$(document).on('mobileinit', function() { ... })` 进行配置。 - **页面结构**: 使用 `&lt;div data-role="page"&gt;` 创建...

    jQueryMobile 仿qq侧滑删除以及动态添加

    jQuery Mobile 是一个强大的前端框架,用于构建响应式、触摸友好的移动 Web 应用。在这个主题中,“jQueryMobile 仿qq侧滑删除以及动态添加”主要关注两个核心功能:模仿 QQ 的侧滑删除效果和动态添加内容。 首先,...

    phoneGap jqueryMobile demo

    在"phoneGap jqueryMobile demo"这个项目中,SmartHome可能是示例应用的名字,可能包含了一系列使用PhoneGap和jQuery Mobile创建的文件,用于展示如何将两者结合使用来开发一个智能家居控制应用。开发者可能使用HTML...

    JQuery Mobile权威指南pdf及源码包

    1. **单一页面应用(Single Page Applications, SPA)**:jQuery Mobile通过AJAX技术实现了页面无刷新导航,使得用户在不同页面间切换时,感觉像是在同一个页面上操作,提高了用户体验。 2. **触控优化**:框架内建...

    JQuery Mobile概述.pdf

    2. **跨平台兼容**:JQuery Mobile 支持所有主流的移动操作系统,如 iOS、Android、Blackberry、Windows Phone 等,这使得开发者能够构建一个应用程序,同时在多种设备上运行,减少了开发成本。 3. **HTML5 驱动的...

    [jQuery移动开发].(jQuery.Mobile).Jon.Reid.文字版

    - **对话框**:对话框是 jQuery Mobile 中的一个特殊组件,它可以作为一个独立的弹出窗口呈现。开发者可以通过设置 `data-role="dialog"` 来创建一个对话框。 - **导航与历史**:jQuery Mobile 支持基于历史记录的...

    jQuery Mobile的loading对话框显示/隐藏方法分享

    jQuery Mobile作为一个强大的移动端开发框架,提供了一套简洁的API来帮助开发者控制loading对话框的显示和隐藏。本文将深入探讨jQuery Mobile中控制loading对话框的方法。 首先,我们要明确jQuery Mobile是一个专门...

    jquery.mobile-1.4.5

    jQuery Mobile 是一个强大的前端框架,专为构建响应式、触控友好的移动Web应用程序而设计。这个版本是1.4.5,它提供了丰富的组件、交互效果和优化,旨在简化跨平台的移动应用开发。 1. **框架基础** - jQuery ...

    jQuery移动开发

    这是一个简单的jQuery Mobile页面。 页脚 ``` #### 四、jQuery Mobile的应用结构与导航 ##### 4.1 页面 - **内部页面**:在同一HTML文档中的页面,可以通过链接在内部页面之间导航。 - **外部页面**:...

    支持弹出多个窗口的jQuery弹窗插件

    总的来说,popupWindow.js是一个强大且灵活的jQuery弹窗插件,它的多项功能(多窗口、最大化、最小化、拖拽和改变尺寸)使得它在网页应用开发中具有很高的实用性。对于希望提升用户界面交互性的开发者来说,这是一个...

    demos.jquerymobile.com:jQuery Mobile演示站点

    `demos.jquerymobile.com` 是一个专门展示 `jQuery Mobile` 库功能和用法的在线平台。这个站点包含了各种各样的示例,帮助开发者理解和学习如何在移动设备上构建响应式、触摸友好的网页应用。作为 `HTML` 的一部分,...

    Jquery mobiel demo

    jQuery Mobile 是一个专为触摸设备设计的前端框架,它基于 jQuery 库,旨在简化跨平台的移动应用开发。这个框架提供了一套完整的组件、交互效果和主题系统,使得开发者能够创建功能丰富且用户体验优良的移动应用。...

    webView让本地页面相互调换案例

    在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序中加载和显示网页内容,甚至可以与本地HTML页面进行交互。在《jQuery Mobile权威指南》的学习过程中,你会遇到如何使用WebView来实现本地HTML...

    基于Jquery网站框架

    2. **链式调用**: jQuery对象返回的是一个jQuery集合,这意味着你可以连续调用多个方法,如`$("#element").hide().fadeIn(1000)`,这会先隐藏元素,然后在1秒内淡入显示。 3. **事件处理**: jQuery提供了一致的API...

    jquery-mobile-dist:jquery移动版

    jQuery Mobile 是一个流行的前端框架,专为移动设备设计,旨在简化移动 web 开发。这个框架是基于 jQuery 的,它提供了丰富的交互元素、触摸友好的用户界面(UI)组件以及优化的页面导航机制。在本篇文章中,我们将...

Global site tag (gtag.js) - Google Analytics