Хорошо, я нахожусь в большом затруднительном положении.Touchend не работает, даже после вызова e.preventDefault()
Я наткнулся на ошибку touchhend. После touchmove событие touchhend не работает, независимо от того, что я делаю.
Я попытался добавить preventDefault()
в касание. Я также попытался заменить touchend на touchcancel. Все это терпит неудачу. Я прочитал, что это связано с прокруткой устройств с сенсорным экраном, но пока я не нашел никакого рабочего решения.
Я знаю, что это можно решить с помощью JQuery, но я предпочитаю делать это с помощью Vanilla JS, чтобы я мог узнать, что происходит под капотом.
var touchActive = false;
elem.addEventListener("touchstart", function (event) {
touchActive = true;
});
elem.addEventListener("touchend", function (event) {
touchActive = false;
});
elem.addEventListener("touchmove", function (event) {
if(touchActive){
}
else{
}
});
Так почему же он не работает?
Что значит «не работает»? Если вы помещаете 'console.log' внутри слушателя, ничего не будет регистрироваться? Если он срабатывает, тогда кажется, что вы ожидаете «touchmove», чтобы продолжать стрельбу даже после того, как «touchhend» был. – Zirak
@ Zirak использовал поле оповещения. Ничего не произошло. – Asperger
Мне вроде как тяжело полагать, что при обычных обстоятельствах «коснуться» не срабатывает. Можете ли вы написать [MCVE] (http://stackoverflow.com/help/mcve)? – Zirak