2015-06-23 23 views
5

Wygląda na to, że wydarzenie o długim naciśnięciu nie jest częścią specyfikacji Polymer.Jak zaimplementować zdarzenie typu "long-press" przy użyciu Polymer 1.0?

Jak byś to wdrożył?

Myślałem o użyciu zachowań i korzystania down i up zdarzenie z niektórych debounce sztuczek zarządzać taką nową imprezę, ale to oznacza, że ​​trzeba wprowadzać element niestandardowy używać tego zachowania i nie można na przykład używać go bezpośrednio na dowolne elementy, które chcę:

<div on-long-press="_cheese">...</div> 

co nie jest wygodne.

Czy masz inne rozwiązania?

+0

Pytałeś pytanie o dokładnym dniu, kiedy zastanawiałem się samo :) – Andre

+0

@Andre prosimy dołączyć do czatu na mówienie o nim (http: //chat.stackoverflow. com/rooms/81301/polymer) – user544262772

+0

Czy wypróbowałeś 'on-hold' lub' on-holdpulse' [events] (https://www.polymer-project.org/0.5/docs/polymer/touch.html# podstawowe zastosowanie)? – Kutyel

Odpowiedz

2

Nie musisz tworzyć niestandardowego elementu do tego. Oto, do czego służą polymer behaviors. Zapewniają one sposób, w jaki różne elementy polimerowe mają wspólne zachowania.

Jeśli chodzi o rzeczywisty javascript do wdrażania długich naciśnięć, można uzyskać pomysły z tego question.

+0

jak powiedziałem w moim pytaniu, wiem, jak zrealizować takie wydarzenie, i wiem, że mogę korzystać z zachowań. Właśnie zastanawiałem się, czy mogę uzyskać ten sam efekt przy użyciu innego aspektu struktury. podobnie jak atrybut on-tap, który nie jest jednym ze specyfikacji html. – user544262772

+0

Nie znam niczego, co jest udokumentowane, ale możesz spróbować użyć [kodu źródłowego Gestów] (https://github.com/Polymer/polymer/blob/master/src/standard/gestures.html#L464) rejestrując własne wydarzenie w Polymer. Gesty podobne do tego, w jaki sposób 'on-tap' jest zarejestrowane. –