2012-01-19 1 views
3

У меня есть DIV #overlay, сидящий над DIV #page, но на #page div, the the overscroll: auto на элементе.удалить событие касания на элементе

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

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

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

ответ

3

CSS Решениеdiv#page { pointer-events: none; }


JQuery Решение

ваше прикосновение событие -

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

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

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

когда #overlay закрыт -

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

Я не думаю, что это правильно, я говорю о том, отключить сенсорные события, а не CSS. – calebo

+0

, тогда просто дайте опцию «указатель-события: нет» при отображении #overlay. – Sang

+0

не работает на сенсорном устройстве, чего я пытаюсь достичь. – calebo