Я создаю полноэкранное веб-приложение, в котором будут некоторые модули/виджеты, использующие новые функции iOS 5 overflow:scroll. Я хочу отключить этот «прыгающий» эффект при прокрутке html/body (поскольку он полноэкранный), но сохранить этот эффект только для прокручиваемых элементов.
чтобы сгладить эффекты прокручиваемых элементов, у меня есть:
html, body { overflow: hidden; }
.scrollable {
overflow: scroll;
-webkit-overflow-scrolling: touch;
}
а затем следующий скрипт, отключающий эффект сенсорной прокрутки:
$(document).bind('touchmove', function (e) {
if (e.target === document.documentElement) {
e.preventDefault();
}
});
хотя это, похоже, вообще не работает, потому что при прокрутке элемента до самого нижнего или верхнего края он также прокручивает documentElement
.
Есть ли способ отключить этот эффект только для html-элемента body?
Вот хороший пример того, как это влияет на функциональность:
currentTarget
боюсь. target может вернуть что угодно внутри него, вы можете попробовать;) - person zanona   schedule 11.11.2011