2012-01-19 11 views
3

DIV#オーバーレイをDIV #pageに置いていますが、#page divにはオーバースキャンがあります。要素のタッチイベントを削除する

#overlayが表示されているときに#pageですべてのタッチイベントを無効にしてから、#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がポップアップ表示 -

#overlayが閉じたとき

-

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

を私は無効にタッチイベントではなく、CSSについて話して、それが正しいだとは思いません。 – calebo

+0

次に、#overlayを表示するときに 'pointer-events:none'オプションを指定するだけです。 – Sang

+0

は私が達成しようとしているタッチデバイスでは機能しません。 – calebo