2012-09-11 17 views
5

Czy istnieje sposób na zastąpienie wszystkich zdarzeń kliknięcia przez zdarzenie vclick w jQuery mobile?jQuery Mobile: zastąpienie zdarzenia kliknięcia przez zdarzenie vclick

Jedynym rozwiązaniem znalazłem tak daleko jest do zarejestrowania zdarzenia VKLIKNIJ jak poniżej

$('a').bind("vclick", function (ev) { 
    // Do Some stuff 
    ev.preventDefault(); 
}); 

Problem polega na tym, że to rozwiązanie nie wyklucza jQuery mobile kliknij zdarzenie na ogień tak kliknięcia są wyzwalane dwukrotnie

+0

Czy chcesz zastąpić zdarzenie kliknięcia i zapisać zarówno kliknięcie, jak i kliknięcie w pliku? –

+0

Chciałbym, aby kliknięcie łącza wyzwoliło zdarzenie vclick zamiast zwykłego zdarzenia kliknięcia, aby uniknąć opóźnienia 300ms obserwowanego na urządzeniach dotykowych. – Laurent

Odpowiedz

4

z jakiegoś powodu, mam następujące do pracy:

$('a').bind('vclick click',function(e){ 
    e.preventDefault(); 
    //do some stuff// 
}) 

Bez e.preventDefault() Zdarzenie dwukrotnie. Dzięki niemu wystrzeliwuje tylko jeden raz (ale strzela)

Jest to podobne do podanego przez Ciebie, ale może być bardziej wszechogarniające.

+0

Czy to nie byłoby to samo co $ ("a"). Bind ("kliknięcie", funkcja (e) {? – Seanonymous

+0

Nie wiem Nie pamiętam, jak się tam dostałem. w tym czasie, ale teraz nie mogę odtworzyć mojego myślenia. Powiedziałbym, że masz rację, ale myślę, że jest jakiś powód, dla którego "rozwiązanie" działa zgodnie z przeznaczeniem – user1167442

+0

To uratowało mnie przed wieloma dodatkowymi pracami. – KJS

2
$("#elementId").bind('vclick',function(event){ 
event.preventDefault(); 
//your code.. 
}); 

to działa poprawnie.

Powiązane problemy