2014-02-18 4 views
2

Я хочу добавить touchstart событие на моем li без отключения прокрутки на родительском.Не удается прокрутить больше на touchstart

В настоящее время он работает. У меня есть прокрутка по timeline, и я могу нажать на li.

Когда я добавляю touchstart, я могу щелкнуть один из li, это лучше, чем click по мобильному телефону. Но проблема в том, что я не могу прокручивать больше на timeline ...

Могу ли я отличить touchstart, длительное нажатие, TouchMove или что-то подобное?

<ul id="timeline"> 
    <li></li> 
    <li></li> 
    ... 
    <li></li> 
    <li></li> 
</ul> 

$("#timeline").find(" > li").on("click", function(e){ 
    e.preventDefault(); 
    ... 
}); 

Я хотел бы использовать:

$("#timeline").find(" > li").on("touchstart click", function(e){ 
    e.preventDefault(); 
    ... 
}); 

ответ

2

Взгляните на эту jQuery touchSwipe plugin.

Это позволяет вам определить, было ли это длинное касание или короткое касание, которое могло бы решить проблему для вас.

т.д .:

$(function() { 

    $("#timeline").find(" > li").swipe({ 
     longTap:function(event, target) { 
      event.preventDefault(); 
      // further code 
     }, 
     allowPageScroll: "auto" 
    }); 

}); 

Далее вы можете включить прокрутки страницы и определить, как она обрабатывается:

Page scrolling demo

 Смежные вопросы

  • Нет связанных вопросов^_^