0

有没有办法通过 jquery mobile core 为加载的数据创建自定义处理程序。例如,如果在我的表单提交 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');
4

1 回答 1

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);
于 2013-02-02T16:16:08.790 回答