Как распространять события jQuery Mobile, когда открыто всплывающее окно?

0

Похоже, что никакие события не распространяются на содержимое div, пока всплывающее окно открыто.

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

Пример: http://jsfiddle.net/wvVmT/703/

Я хочу, чтобы предупреждение появилось, если вы нажмете на красную область даже после всплывающего окна.

HTML:

<div data-role="page">
    <div data-role="content" id="content" style="background-color:red">
        content
        <a href="#" data-role="button" data-rel="popup" id="message-button">Message</a>
        <div data-role="popup" id="message-popup" data-history="false" data-dismissible="false">popup</div>
    </div>
</div>

JS:

$(function() {
  $( '#message-button' ).click(function()
    {
      $( '#message-popup' ).popup( 'open' );
    }
  );
  $( '#content' ).click(function()
    {
      alert('content');
    }
  )
});
  • 0
    jsfiddle.net/Palestinian/wvVmT/704 удалите всплывающее наложение .
  • 0
    Омар прав. Вы также можете использовать сторонний плагин, такой как jGrowl - jsfiddle.net/ezanker/wvVmT/705
Показать ещё 1 комментарий
Теги:
jquery-mobile
jquery-mobile-popup

1 ответ

0
Лучший ответ

Как отметил Омар, экран, связанный с всплывающим окном, должен быть удален.

Он предложил удалить экран для всех всплывающих окон:

$('.ui-popup-screen').remove();

Но на самом деле, в момент создания всплывающего окна создается элемент с тем же идентификатором, за которым следует -screen. Таким образом, вы можете удалить только тот, чтобы сохранить экраны для всех остальных. В моем примере:

$('#message-popup-screen').remove();

И делать это один раз достаточно, так что вам не нужно делать это каждый раз, когда всплывающее окно открывается, как в его примере;)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню