2013-02-02 80 views
0

有沒有辦法通過jquery mobile核心爲已加載數據創建自定義處理程序。例如,如果我的表格submition jQuery Mobile的後得到這樣的:jquery mobile中的自定義數據角色

<div data-role="message"> 
    <message>Error</message>  
    <selector>#password, #login</selector> 
</div> 

jQuery Mobile的不會有呈現空白頁面到內容,而只是執行這樣的事情:

//grab 
var message = $(response).find('message').text(); 
var selector = $(response).find('selector').text(); 

//show and highlight 
$.mobile.showPageLoadingMsg($.mobile.pageLoadErrorMessageTheme, message, true); 
setTimeout($.mobile.hidePageLoadingMsg, 1500); 
if (selector) $(selector).addClass('error'); 

回答

1

這是我的令人毛骨悚然的解決方案

(function($){ 
    $(document).on('pageload', function(event, data) { 

     var $this = $(data.xhr.responseText); 

     if ($this.attr('data-role')=='message') { 
      //grab 
      var message = $this.find('message').text(); 
      var selector = $this.find('selector').text(); 

      //show and highlight 
      $.mobile.showPageLoadingMsg($.mobile.pageLoadErrorMessageTheme, message, true); 
      setTimeout($.mobile.hidePageLoadingMsg, 1500); 
      if (selector) $(selector).addClass('error'); 

      //stop defaults 
      data.deferred.reject(data.absUrl, data.options); 
     } 
    }); 
})(jQuery);