удалить сенсорное событие на элементе - PullRequest
3 голосов
/ 19 января 2012

У меня DIV # overlay, сидящий над страницей DIV #, но на странице #page есть переполнение: auto для элемента.

Как я могу отключить все сенсорные события на #page, когда #overlay виден, а затем включить обратно, когда #overlay скрыт?

<div id="page">touchable content here</div>
<div id="overlay">sits on top of #page DIV</div>

Это только для мобильного веб-набора.

1 Ответ

3 голосов
/ 19 января 2012

CSS Solution div#page { pointer-events: none; }


Решение jQuery

Ваше сенсорное событие -

$('#page').click(function () {
    if($(this).hasClass('blockEvent')) return false;
    //do something...
});

когда всплывает # overlay -

// display #overlay
$('#page').addClass('blockEvent');

когда # наложение закрыто -

// close #overlay
$('#page').removeClass('blockEvent');
...