2015-04-14 3 views
0

У меня есть делегированное всплывающее окно, которое предназначено для отображения модального на планшетах и ​​телефонах. К сожалению, модальность, похоже, ждет, пока вызов ajax до @href не будет завершен, пока не отобразит что-либо. Из документов появляется модальное сообщение с ajaxText, заполненное во время вызова ajax, но я ничего не вижу, пока всплывающее окно не появится. Вызов предсказуемо достаточно длинный (~ 5 сек. В разработке), что я знаю, что нет возможности, чтобы загрузчик не появлялся в течение секунды.JqModal AjaxText не отображается

$('a.word').on(touchstart: touchWordPopup) 

В CoffeeScript приведено ниже, но согласно конвенции из официальных документов.

touchWordPopup: (event) -> 
    event.preventDefault() 
    // another function handles mouse hover popups, 
    // so let's disable that stuff. 
    $(this).off('mouseover mouseenter mouseleave') 
    $('#popup').jqm(
    closeClass: 'close' 
    ajax: @href 
    ajaxText: '<h2>Loading...</h2>' 
    modal: true 
).jqmShow() 

HTML:

<html> 
    <head>...</head> 
    <body> 
    <div class='subscription'> 
     <a href="/words/foo" class='word'>Foo</a> 
     <!-- several more words... --> 
    </div> 
    <div id='popup' class='jqmWindow'></div> 
    </body> 
</html> 

Я задаюсь вопросом, является ли делегация или CoffeeScript может быть виноват, но я не могу сказать, где эта проблема может быть решена.

ответ

0

CoffeeScript не виноват.

Я выпустил jqModal 1.3.0, который сразу же отображает (отображает) модальные режимы ajax.

Документация обновлена, и я включил example (#5) для проверки более медленных удаленных ответов.

Поскольку эквивалент jqmShow() теперь запускается немедленно, если ваш ответ ajax включает элементы, которые соответствуют closeClass, они никогда не будут прикрепляться. Это лучше всего исправляется заплат jqModal и связывания обработчика событий для модальных iteself, но теперь вы можете использовать OnLoad:

onLoad: function(hash){ 
    var modal = hash.w; 
    $(hash.o.closeClass, modal).click(function(){ 
    modal.jqmClose(); 
    return false; 
    }); 
} 
+0

Прекрасно работает, спасибо, но есть шанс, что это исправление сломал 'closeClass'? Кажется, он больше не работает для меня. – Eric

+0

Эрик, если closeClass ссылается на цель, которая будет предоставлена ​​в ответе ajax - она ​​никогда не будет прикрепляться. Для этого я бы использовал onLoad. Обновление ответа. – briceburg

 Смежные вопросы

  • Нет связанных вопросов^_^