1、Create與及refresh: 創建事件和刷新方法有一個重要的區別需要注意 重要區別在一些widgets關系。 Create - 事件適合用於加強原始標記包含一個或多個widgets。 refresh - 方法應該使用現有的widgets(已增強)已編程操作和需要更新匹配的UI。 例如: 如果你有一個頁面, 在那裡你動態地追加一個新的無序列表與數據的 data-role=listview 屬性創建頁面後, 觸發父元素上創建,列表將它改造成一個ListView風格的小部件。 如果多個列表項,然後以編程方式添加, 調用ListView的刷新方法將更新這些新的列表項的強化狀態, 並保留現有的列表項目不變。 2、範例: 2.1 流程: 2.1.1、主頁面loginMember.html ,進入會有二個選項,為Test create 及Test refresh。 2.1.2、選擇Test create ,是將div id為#divData,載入createpage.html #data。 主要是測試,將更新大量的元件。 2.1.3、選擇Test refresh,是將div id為#divData,載入refreshpage.html #data。 主要是測試,將更新大量的元件後,在於其中更新部分元件。   如果將移除   $('#divData').trigger('create');   $('#divData').trigger('create').trigger('pagecreate');   其你更新的大量元件將沒有jQuery ui的效果。 2.2 程式 主頁面: loginMember.html <!DOCTYPE html> <html> <head> <title>jQuery Mobile Menu Demo</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta id="extViewportMeta" name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no"> <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.css" /> <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> <script src="http://code.jquery.com/jquery-migrate-1.1.1.min.js"></script> <script src="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.js"></script> <script type="text/javascript"> $().ready(function(){ $("#createpage").live("click",function(){ $("#divData").empty(); $("#divData").load("createpage.html #data" , function() {$('#divData').trigger('create'); }); }); $("#refreshpage").live("click",function(){ $("#divData").empty(); $("#divData").load("refreshpage.html #data" , function() {$('#divData').trigger('create').trigger('pagecreate'); }); }); }); $('#listDemo').live('pagecreate', function() { $('#withoutRefresh').on("click", function() { $('ul').append('<li>list item</li>'); }); $('#withRefresh').on("click", function()  { $('ul').append('<li>list item</li>'); $('ul').listview('refresh'); }); $('#clear').on("click", function() { $('ul').empty(); }); }); </script> </head> <body> <div id="listDemo" data-role="page"> <div data-role="header"> <h3><a href="#"id="createpage">Test create</a></h3> <h3><a href="#"id="refreshpage">Test refresh</a></h3> </div> <div data-role="content" id="divData" align="left"> </div> </div> </body> </html> 測試create 頁面: createpage.html <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> <div id="data"> <div data-role="main" align="center">請選擇</div> <div data-role="footer"> <div data-role="navbar"> <ul> <li><a href="#">1</a></li> <li><a href="#">2</a></li> <li><a href="#">3</a></li> <li><a href="#">4</a></li> <li><a href="#">5</a></li> <li><a href="#">6</a></li> </ul> </div> </div> <div><label for='account1'>帳號:</label><input type='text' /></div> </div> </body> </html> 測試refresh 頁面: refreshpage.html <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> <div id="data"> <input type="button" id="withoutRefresh" value="Add without refresh"/> <input type="button" id="withRefresh" value="Add with refresh"/> <ul data-role="listview" data-inset="true"></ul> <input type="button" id="clear" value="Clear List"/> </div>  </body> </html> 3、畫面

程式執行畫面
按下 Test create 的畫面
按下Test refresh
按下Test refresh->Add Without refresh
按下Test refresh->Add with refresh

4、參考 本文編輯的版本為jQuery.mobile-1.3 參考來源: jQuery mobile Scripting pages http://jquerymobile.com/demos/1.2.1/docs/pages/page-scripting.html Operation Mobile http://operationmobile.com/category/jquery-mobile/ jquery moblie download http://jquerymobile.com/download/


文章標籤
全站熱搜
創作者介紹
創作者 PG Levin Li 的頭像
PG Levin Li

程式開發學習之路

PG Levin Li 發表在 痞客邦 留言(0) 人氣(809)