Хорошо, я создаю сайт галереи для iPad.Он должен быть в состоянии провести, и когда вы нажимаете на миниатюры, он загружает изображения галереи с помощью AJAX.
HTML выглядит примерно так:
<section id="col1">
<nav>
<div class="appGallery">
<div class="imageHandler"></div>
<ul>
<li><a href="1.html"><img src="1.jpg" alt="" /></a></li>
<li><a href="2.html"><img src="2.jpg" alt="" /></a></li>
<li><a href="3.html"><img src="3.jpg" alt="" /></a></li>
<li><a href="4.html"><img src="4.jpg" alt="" /></a></li>
</ul>
</div>
</nav>
</section>
Я использую пальцемплагин и в основном то, что imageHandler делает, чтобы отслеживать движение (события касания / мыши).У него более высокий z-индекс, который переопределяет неупорядоченный список, так что это в основном означает, что ссылка 'a' не будет работать.
Я написал совершенно новый алгоритм для определения, по каким пиктограммам нажимают $'# col1 nav') в зависимости от высоты и event.pageY.Мой алгоритм отлично работает на настольном компьютере, но не на iPad.Событие click просто не регистрируется.
Вот как выглядит JavaScript:
var dragging = false;
imageHandler.bind('touchmove', function(event) {
dragging = true;
});
imageHandler.bind('touchend', function(event) {
var touch = event.originalEvent.touches[0] || event.originalEvent.changedTouches[0];
if (dragging) {
//swipe column
dragging = false;
}
else {
//I've done some testing myself by including an alert() here, it pops out.
$('#col1 nav').click(function(event) {
//but when I insert and alert() here, nothing happens
var touch = event.originalEvent.touches[0] || event.originalEvent.changedTouches[0];
//my algorithm to select the thumbnails using touch.pageY
//ajax using .load
});
dragging = false;
}
return false;
});
Кто-нибудь знает, что не так?