jquery mobile中的自定义数据角色

时间:2013-02-02 15:06:50

标签: jquery jquery-mobile

有没有办法通过jquery mobile core为加载的数据创建自定义处理程序。例如,如果在我的表单submition 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 个答案:

答案 0 :(得分: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);