Я ищу отдельный обработчик событий в Ionic 3 для запуска и завершения прикосновения к элементу HTML в мобильном приложении.
Я нашел много связанных и решенных вопросов, но ни одного для Ionic 3, который в настоящее время, кажется, поддерживает только «касание, нажатие, панорамирование, пролистывание, поворот и сжатие» (https://ionicframework.com/docs/компоненты/#жесты). И ни один из них, похоже, не предоставляет «обработчик» в начале, а только в конце. Я вижу, что тогда они дают данные о длительности касания (deltaTime), но к этому моменту это бесполезно для моих целей.
Для большего контекста я хочу очистить связанный тайм-аут в тот момент, когда экран впервые коснулся элемента, а затем посмотреть, заканчивается ли это касание того же конкретного элемента в течение определенного времени (например, 250 мс, так что это может быть оценено как «кран»).
Например что-то вроде этого:
JS:
timeout_1 = setTimeout(function() {
// do something if timeout_1 not cleared by touch start
}, 4000);
touched(event) {
clearTimeout(timeout_1);
touching_x = true
timeout_2 = setTimeout(function() {
touching_x = false
// store event details and do other things if timeout_2 not cleared by touch end
}, 250);
}
touch_ended(event) {
if (touching_x==true) {
clearTimeout(timeout_2);
// store event details and do some other things
}
}
HTML:
<button ion-button type="button" (button_touch_started) = "touched($event)" (button_touch_ended) = "touch_ended($event)">Touch button</button>
Высокая точность (до мс) была бы важна, особенно для времени начала касания.
Любые советы приветствуются.
<button ion-button type="button" (button_touch_started)="touched()">Touch this button</button>
(Или это имеет значение, если это, скажем,<div>
вместо этого?) - person gaspar   schedule 04.04.2018