У меня есть позиция: фиксированный div на прокручивающейся веб-странице.
Вначале событие работает, но когда прокрутка страницы, в то время как фиды-фиды сохраняются на месте, его "сенсорная" зона, похоже, изменяется (кажется, она прокручивается - кроме верхней части другого div или в зависимости от макета страницы...). В конце концов никакое событие касания не будет получено больше, если вы пролистаете слишком много. Иногда базовый div принимает событие вместо этого.
Здесь образец:
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=no;">
<meta name="apple-mobile-web-app-capable" content="yes" />
<style>
#fixed {
position: fixed;
width:200px;
height:200px;
z-index:1;
background: rgba(100,0,0,0.5);
}
#scrolling {
display: block;
position: absolute;
top: 100px;
left: 100px;
width:200px;
height:999px;
background: rgba(0,100,0,1);
}
</style>
</head>
<body>
<div id="fixed" ontouchend="alert('touch fixed')"></div>
<div id="scrolling" ontouchend="alert('touch scrolling')"></div>
</body>
Когда вы достаточно пролистаете прокрутку и коснитесь красного "фиксированного" div на левой стороне, ничего не произойдет (без предупреждения). Однако, с правой стороны (над зеленым прокруткой div) это работает...?!
Похож на ошибку Safari. Вы испытываете то же самое? Любая идея обходного пути? (Iscroll не может быть и речи - слишком медленно)
Спасибо, LC