2013年6月10日 星期一

jQuery Mobile 常用語法

  1. 內建的 icon
    http://api.jquerymobile.com/icons/
  2. 各元素可用 data-* 屬性名稱
    http://api.jquerymobile.com/data-attribute/
  3. 關閉 dialog
    方法一:
    link 上加 data-rel="back"
    [範例]
    <a href="#" data-role="button" data-inline="true" data-rel="back">返回</a>

    方法二:

    JavaScript 執行 $( ".ui-dialog" ).dialog( "close" )
  4. 修改按鈕文字(可自行中文化),在載入 jquery.mobile.js 之前,使用 mobileinit 事件修改。
    http://api.jquerymobile.com/global-config/
    http://api.jquerymobile.com/header/
    [範例]
    <script>
    $(document).bind('mobileinit', function(){
        $.mobile.page.prototype.options.backBtnText = "返回";
    });
    </script>
    <script src="js/jqm/jquery.mobile-1.3.1.min.js"></script>
  5. ajax 修改頁面內容(元素)後,重新初始化
    方法一:使用 refresh (適用更新已存在的元件)
    [範例]
    var list = $('#app-status-ul');
    list.append(res.data);
    list.listview('refresh');


    方法二:使用 create (適用新增原本不存在的元件)
    [範例]
    var d = $("#p_add div:jqmData(role='content')");
    d.empty();
    $.mobile.changePage("#p_add");//先切換到該元素的頁面
    d.append(res.data).trigger('create');//再塞新的子元素到該元素,並 create

    參考:
    http://jquerymobiledictionary.pl/faq.html
    Create vs. refresh: An important distinction
  6. 回到上一頁
    方法一:
    在按鈕上加 data-rel="back" 屬性

    方法二:
    使用 JavaScript,語法 $.mobile.back();
    參考:
    http://stackoverflow.com/questions/8206108/how-to-navigate-back-one-page-using-mobile-changepage 
  7. 與 PhoneGap 整合 (跨網域、CORS、AJAX、PhoneGap 白名單)
    http://jquerymobile.com/demos/1.2.0/docs/pages/phonegap.html
  8. 使用 JavaScript 設定某個 select 值後,
    例如:$('select[name=aa]').val(2);
    須再用 $('select[name=aa]').selectmenu('refresh'); 更新 select 元件。
    參考:
    http://jquerymobile.com/demos/1.2.0/docs/forms/selects/methods.html
    //refresh value           
    $('select').selectmenu('refresh');

    //refresh and force rebuild
    $('select').selectmenu('refresh', true);

沒有留言:

張貼留言