Ссылка в диалоге закрывает диалог и больше ничего не делает в JqueryMobile - PullRequest
0 голосов
/ 31 января 2011

У меня проблема со ссылками на странице диалога. На самом деле эти ссылки не работают, они закрывают диалоговую страницу и делают что-то еще. Я смотрю демо на http://jquerymobile.com/demos/1.0a2/#docs/pages/docs-dialogs.html и ссылки в диалоге тоже не работают.

Есть идеи исправить это?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 31 января 2011

Спасибо за это.

Но javascript, предоставленный по этой ссылке: http://jquerymobile.com/test/js/, но этот файл не полный (например, он не содержит data-role = "field-contains")

Но, как сказал Наугтур, есть хорошие новости: Я нашел в интернете решение: Загрузите несжатую версию этого файла: jquery-mobile-1.0a2.js с сайта jquerymobile.com и измените этот файл:

$.widget( "mobile.dialog", $.mobile.widget, {
   $closeBtn = $('<a href="#" data-icon="delete" data-iconpos="notext">Close</a>');
   $el.delegate("a, submit", "click submit", function(e){
      if( e.type == "click" && ( $(e.target).closest('[data-back]') || $(e.target).closest($closeBtn) ) ){         
     self.close();
     return false;
      }
$.mobile.activePage = this.element;         
});

Заменить строку: if( e.type == "click" && ( $(e.target).closest('[data-back]') || $(e.target).closest($closeBtn) ) ){
по: if( e.type == "click" && ( $(e.target).closest('[data-back]')[0] || this==$closeBtn[0] ) ){

и: $.mobile.activePage = this.element;
по: $.mobile.activePage = self.element;

Это хорошо работает для меня.

0 голосов
/ 31 января 2011

Ссылка в демоверсии указывает на страницу, поэтому она может работать ... Но когда я меняю href на firebug, он делает то же самое. Похоже, вы нашли ошибку в jqm alpha2.

Но есть и хорошие новости. Ошибка исправлена. См:

http://jquerymobile.com/test/docs/#pages/docs-dialogs.html

http://jquerymobile.com/test/docs - версия документов, сгенерированных из хранилища (ежедневно или около того)

...