2014-12-29 4 views
0

У меня есть холст HTML5, с которым пользователи взаимодействуют, нажав (или нажав).Прокрутка страницы при касании перетаскивания холста

$(function() { 
    var canvas = $('#annotations'); 
    canvas[0].addEventListener('mousedown', clickCanvas); 
    canvas[0].addEventListener('touchstart', clickCanvas); 
}); 

function clickCanvas(e) { 
    markLocation(e); 
    drawCanvas(); 
    e.preventDefault(); 
} 

Это работает как ожидалось. Тем не менее, на мобильных устройствах, если вы нажмете и перетащите эти регистры, щелкните по точке, в которой запускался крана (это имеет смысл, потому что оно подключено до touchstart). Страница не прокручивается, как обычно, когда вы касаетесь перетаскивания за пределы холста.

При перетаскивании я хотел бы, чтобы кран был проигнорирован , а вся страница прокручивалась вместо.

ответ

0

Я был в состоянии решить эту проблему с помощью:

  • Удаление e.preventDefault();
  • Подключаем canvas[0].onselectstart = function() { return false; } для предотвращения текста выбирается, когда холст двойной щелчок (это было то, что e.preventDefault() сделал в первую очередь)
  • Замена на touchend
Смежные вопросы