2012-04-11 2 views
7

Mam swipeleft/swiperight działa dobrze w mojej aplikacji, ale gdy użytkownik robi mousedown nad znacznikiem zakotwiczenia, akcja przesuwania nie jest wyzwalana.Przesunięcie JQuery-Mobile nie działa po uruchomieniu znacznika zakotwiczenia

Jak wykonać przesunięcie, nawet jeśli użytkownik przesuwa mousedown na znaczniku zakotwiczenia?

EDYTOWANIE: Wygląda na to, że jest to tylko problem w przeglądarkach na komputerach - tablety działają dobrze.

Odpowiedz

8

Możesz przesuwać standardowy lewy przycisk w dowolnej nowoczesnej przeglądarce na pulpicie.

Upewnij się, że zapobiegasz domyślnej akcji zdarzenia dragstart na twoim div.

$("div").bind('dragstart', function(event) {event.preventDefault(); }); 

Mam kopię pracuje tu ...

http://jsfiddle.net/38nXe/

+1

Hmm ... nie działa dla mnie. Mam karuzelę div> ul> li> a> img. Próbowano zapobiec przeciągnięciu każdego elementu w tym drzewie. Wydaje się, że inny problem, działa, gdy rozwijam obrazy. – Rantiev

+0

jakiej przeglądarki używasz? Czy możesz napisać js fiddle? – Trent

+0

Zmieniłem powyższy link do działającego jsfiddle. Sprawdź to. http://jsfiddle.net/38nXe/ – Trent

2

Możesz przesuwać palcem w przeglądarce na komputerze za pomocą prawego przycisku myszy. To nie jest zbyt eleganckie, ponieważ otwiera również menu kontekstowe. Ale działa wszędzie. Alex

0

Jak dla mnie to było spowodowane "excludedElements" filtruje wszystkie przyciski, SELECT, textarea, wejścia i kotwice.

Aby było to możliwe, dodaj na przykład dodatkowy parametr z pustą tablicą.

$ ("# test"). Swipe ({ excludedElements: [] });

See touchSwipe docs plugin tutaj enter link description here