我正在爲iPad創建一個小的web應用程序,我有幾個元素,我阻止用戶通過防止touchmove事件的默認滾動。不過,我有一種情況,我需要用戶能夠滾動一個子元素。防止在父母但不是孩子touchmove默認
我試過使用e.stopPropagation();但沒有運氣!我也嘗試檢測手指下的元素,並將e.preventDefault();在if語句中,但是再次,沒有運氣。或者,也許我剛剛混合起來...
任何想法?從#fix div中刪除.scroll div是最後的手段,因爲它會引起各種令人頭疼的問題。
編輯
我設法排序。似乎我不明白使用.stopPropagation();哎呀!
工作代碼:
<div id="fix">
<h1>Hi there</h1>
<div class="scroll">
<ul>
<li>List item</li>
<li>List item</li>
<li>List item</li>
</ul>
</div>
<div class="scroll">
<ul>
<li>List item</li>
<li>List item</li>
<li>List item</li>
</ul>
</div>
</div>
和JavaScript:
$('body').delegate('#fix','touchmove',function(e){
e.preventDefault();
}).delegate('.scroll','touchmove',function(e){
e.stopPropagation();
});
嘗試添加返回false;在事件處理程序結束時 – jancha 2012-02-28 16:56:51
寫** stopPropagation **而不是** stopPropogation ** – udidu 2012-02-28 17:07:43
哈,是的,幸運的是,我實際上是在我的代碼中正確輸入它;) – will 2012-02-28 17:11:34