Я создаю небольшое веб-приложение для iPad, и у меня есть несколько элементов, которые я запрещаю прокручивать пользователю, предотвращая дефолт по событию touchmove. Однако у меня есть ситуация, когда мне нужно, чтобы пользователь мог прокручивать дочерний элемент.
Я попытался использовать e.stopPropagation(); но не повезло! Я также попытался обнаружить элемент под пальцем и поставить e.preventDefault(); внутри оператора if, но опять же, не повезло. Или, может быть, меня просто путают...
Любые идеи? Удаление div.scroll из #fix 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();
});