У меня есть делегированное всплывающее окно, которое предназначено для отображения модального на планшетах и телефонах. К сожалению, модальность, похоже, ждет, пока вызов 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 может быть виноват, но я не могу сказать, где эта проблема может быть решена.
Прекрасно работает, спасибо, но есть шанс, что это исправление сломал 'closeClass'? Кажется, он больше не работает для меня. – Eric
Эрик, если closeClass ссылается на цель, которая будет предоставлена в ответе ajax - она никогда не будет прикрепляться. Для этого я бы использовал onLoad. Обновление ответа. – briceburg