/ / swipe - скасування вибору тексту - google-chrome, jquery-mobile

Потягнути події скасовує вибір тексту - google-chrome, jquery-mobile

JQM 1.4.5

У мене виникла проблема з "перегортанням" подійреалізована JQuery Mobile. Як правило, просто прослухування події не повинно змінювати взаємодію з користувачем. За цим правилом, здається, є помилка в JQM & Chrome.

У firefox та IE він працює, як очікувалося, однак у Chrome хробання миші, як видається, припиняється, коли спрацьовування swipe спрацьовує.

Наступне, наприклад. є продемонстрована в цьому jsfiddle

<input type="email" value="drag-select@this-text.com" />

<script>
$(document).ready(function() {
$(document).on("swipe", function(evt) {
console.log("swiped " + new Date().getTime());
});

console.log("ready");
});
</script>

якщо ви перетягнете курсор миші над текстом у вхідному файлі, щоб вибрати його, можна вибрати лише 2-5 символів.

Хто-небудь може запропонувати роботу навколо?

Відповіді:

0 для відповіді № 1

У своєму інструменті перетягування зупиніть поширення подій. Це призведе до того, що події закінчуються в стек подій. Без цього, проведіть дзвінки, а потім пожежі інші події.

$(document).on("swipe", function(evt) {
console.log("swiped " + new Date().getTime());
evt.stopPropagation();
});

Зробивши це, я зміг виділити решту тексту.

Зауважте, що ваша подібна передача буде продовжувати горіти, але наступні події не будуть. Можливо, ви бажаєте скасувати лише за певного стану.

Там також evt.preventDefault() що зробить щось подібне. Як зазначено в назві, це запобігає тому, що таке поведінка за замовчуванням. Так що якщо внизу вліво на документ працює за замовчуванням як кнопка "назад" (це відбувається на моєму пристрої Android), але ви хочете провести пальцем уліво, щоб не зробити це, можливо, ви захочете preventDefault() так само.