2012-05-31 1 views
1

Пожалуйста, кто-нибудь помочь мне с этим:HTML5 раздел touchstart TouchMove touchend IOS

touchStart = function (evt) { 
     evt.preventDefault(); 
     $(this).addClass("touched"); 
    }; 

    touchEnd = function (evt) { 
     evt.preventDefault(); 
     $(this).removeClass("touched"); 
    }; 

    s.ontouchstart = touchStart; 
    s.ontouchend = touchEnd; 
    s.ontouchmove = touchEnd; 

У меня есть раздел элемент, созданный динамически JavaScript (уль> LI> раздел). Когда я привязываю прослушиватель событий touchstart-touchmove-touchhend к этому элементу раздела, он работает на Android, но не на iPad/iPod/iPhone.

Я попытался создать его с помощью атрибута onclick="void(0)", он сделал элемент раздела «взаимодействующим», как элемент, который можно щелкнуть, но он все еще ничего не делает.

Он работает на Android каждый путь, но этот овощ кажется немного потреблять бесполезно для меня сейчас ... =)

Спасибо заранее! =)

ответ

4

Nevermind, получил его с jQuery. Таким образом, он работает везде.

$(s).bind("touchstart mousedown", function (e) { 
    console.log(e.type); // to get the name of the event 
}).bind("touchmove mousemove", function (e) { 
    // ... 
}).bind("touchend mouseup", function (e) { 
    // ... 
}); 
+0

Этот код дважды срабатывает в браузере с сенсорным экраном. Проверьте это: $ (document) .ready (function() { $ ('body'). Bind ("touchstart mousedown", function (e) { console.log ("test" + Date.now()) }); }); – fisherwebdev

+0

ЮПП, окончательное решение обрабатывает его =) – benqus

+0

не кажется, что работать за $ ('слайдера уль LI'). Bind ("touchstart MouseDown", функция (е) { \t \t \t \t console.log (e.type); // получить имя события \t \t \t \t}) Bind ("TouchMove MouseMove", функция (е) { \t \t \t \t console.log (e.type). \t \t \t \t }). bind ("touchhend mouseup", функция (e) { \t \t \t \t console.log (e.type); \t \t \t \t}); – Sarvesh