0

jqueryモバイルコアを介してロードされたデータのカスタムハンドラーを作成する方法はありますか?たとえば、フォームの送信後に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 に答える