2017-02-22 4 views
0

Вот мой код, используя Div контейнер:сенсорные события работают на элемент документа, а не на сНу контейнер

<html><body> 
<div id="container">Test</div> 
<script type="text/javascript"> 
    var xDown=null; 
    var yDown=null; 
    function handleTouchStart(e){ 
    xDown=e.touches[0].clientX; 
    yDown=e.touches[0].clientY; 
    } 
    function handleTouchMove(e){ 
    alert('Swiped'); 
    } 
    //Tried this: 
    document.getElementById("container").ontouchstart=function(e){ 
    handleTouchStart(e); 
    }; 
    document.getElementById("container").ontouchmove=function(e){ 
    handleTouchMove(e); 
    }; 
    // and tried this 
    document.getElementById("container").addEventListener('touchstart',handleTouchStart,false); 
    document.getElementById("container").addEventListener('touchmove',handleTouchMove,false); 
</script> 
</body></html> 

Теперь, так как Theres только один HTML DIV я предположил бы, что этот DIV должен взять на всю страницу для пролистывание. Это не эффект. Кажется, он работает только в верхнем левом углу.

Теперь, когда я drop the div и использовать этот документ вместо этого он отлично работает:

document.addEventListener('touchstart',handleTouchStart,false); 
document.addEventListener('touchmove',handleTouchMove,false); 

Как получить сенсорные жесты, чтобы работать на моем DIV? Цель состоит в том, чтобы в конечном итоге переместить код в модальное окно, которое может прокручивать фотографии влево и вправо.

ответ

0

В коде нет ничего плохого. Он работает нормально.

Что случилось здесь это предположение вы сделали:

Теперь, так как Theres только один HTML DIV я предположил бы, что этот DIV должен занять всю страницу для считывания.

Вам необходимо сделать div заполнением всей страницы. Используйте этот класс css.

.full-screen { 
    width:100%; 
    height:100%; 
} 

Примените этот класс к элементу html и document, а также ваш div

<html class="full-screen"> 
<body class="full-screen"> 
    <div id="container" class="full-screen">Test</div> 
</body> 
</html> 

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

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