Как исправить «Пропустите перетаскивание, поскольку мы ждем ответа WebCore на прикосновение»

Я разрабатываю приложение для Android на базе webView и пытаюсь захватить события касания. Однако он не работает, и я увидел это сообщение в журнале:

«Пропустите перетащить, поскольку мы ждем ответа WebCore на прикосновение»

Кто-нибудь знает, как решить эту проблему?

В настоящее время я сталкиваюсь с той же проблемой при реализации карты OpenLayers внутри Android WebView. Кажется, это открытый вопрос с 2009 года: проблема 4549 Об этом упоминается обходной путь: использование

e.preventDefault() 

В каждой функции ontouch ### – (Javascript).

Другим намеком был этот ответ на SO

Это сработало для меня, но я собираюсь более внимательно рассмотреть WebView-MultiTouch-Polyfill в связи с MTfix для Android (Извините, как новый пользователь мне не разрешено размещать больше гиперссылок, чем два, но Google поможет вы)

Я исправил эту проблему, добавив

  document.addEventListener( 'touchstart', function(e){ onStart(e); }, false ); function onStart ( touchEvent ) { if( navigator.userAgent.match(/Android/i) ) { touchEvent.preventDefault(); } } 

Для меня единственный способ, которым я мог заставить это функционировать, – это связать событие напрямую, чтобы он был запущен перед веб-сайтом. AddEventListenter было слишком поздно для меня, и мероприятие застопорилось в webCore и не пузырилось. Это замечание Galaxy с Android 4.0.4

Вот как я исправил это в своем примере:

 var myDiv = document.createElement("div"); myDiv.className = "myClass"; myDiv.id = "myId"; myDiv.setAttribute("data-open","false"); myDiv.ontouchmove = function(e) { //e is touch event, this is myDiv e.preventDefault(); //e.changedTouches[0].pageX //http://www.w3.org/TR/touch-events/#idl-def-TouchEvent };