手指觸摸綁定:
1 $(document).on('touchstart', '.photo', function(e){ 2 currentIndex = parseInt($(this).index('.photo'));
if (!timeoutEvent) 3 timeoutEvent = setInterval("longPress()", 500);//如果是給類元素綁定長按,必須沒有定時器的時候再生成定時器 4 e.preventDefault(); 5 }) 6 $(document).on('touchmove', '.photo', function(e){ 7 }) 8 $(document).on('touchend', '.photo', function(e){ 9 clearInterval(timeoutEvent); 10 timeoutEvent = 0; 11 e.preventDefault(); 12 })
觸發函數:
function longPress() { clearInterval(timeoutEvent); alert('長按'); })
1、利用定時器很方便的進行相應長按觸發
2、用setInterval不用setTimeout,是e.preventDefault的這里的一個問題,組織默認事件行為會影響setTimeout而不會影響setInterval。