2011-12-08 11 views
2

Mobile SafariのiPadのHTML5テンプレート。 iScrollのDivは正常に動作しています。また、if/else文にjQuery関数が含まれています。この関数は、ユーザーがiScroll divの外側をタップしているかどうかをテストし、iScroll divをフェードするかどうかをテストします。
問題は、ユーザーがページの2番目のdivの外側をタップしていても、ユーザーがiScroll divの外をタップしている場合、テストとして機能しないif/elseステートメントがテストとして正常に機能することです。なぜ、if/elseステートメントでiScroll divに関連付けられているすべてのdiv IDを試してみましたが、いい意味がありません。
以下の機能:
iScrollの競合

var articleBodyEl = document.getElementById('content'); 
articleBodyEl.addEventListener("touchend", function() { 
var $target = $(event.target); 
if ($target.is('ul#article_images') || $target.is('ul#article_images li') || $target.is('div#article')) { 
    //do nothing 
} else { 
    $('#article').fadeToggle('fast'); 
} 
}); 

#article = iScrollのdiv

#article_images =ページ上の別のdiv、精巣ユーザーは、この外側をクリックした場合正常に動作しDIV。
HTML:/他の場合には、コンテンツのdivがiScrollの親である場合は、以下の、

if (!$target.is('div#article')) { 
    $('div#article').fadeToggle('fast'); 
} 

に置き換え

<div id="article"> 
<div id="article_content"> 
    <div id="scroller"> 
    <div id="text_1" class="article_text"> 
    <h4>Wish you were here</h4> 
    <p>Sometimes we stumble upon a photograph that requires no words whatsoever. An image that proves the ancient adage that a good picture is worth a thousand words (and probably more, if some of them are small words like ‘if’, ‘it’ and ‘er’). </p> 
    </div> 
    </div> 
</div> 
</div> 

答えて

0

試みは、あなたがiScrollのtouchendイベントでのstopPropagationする必要がありDIV。