2010-07-21 9 views
34

Używam aktualny kod:robi mousedown/mouseup w pracy jquery dla ipad?

$('body').mousedown(function() { 
     $('div#extras').fadeTo('fast', 1); 
}); 

$('body').mouseup(function() { 
     $('div#extras').delay(2000).fadeTo(1500, 0); 
}); 

Działa to doskonale w Safari, ale kiedy przesłać go i sprawdź to na iPad robi to działa?

Odpowiedz

79

I okazało się, jak to zrobić dla iPad dla tych, którzy są zainteresowani:

Zamiast kodu użyłem w moim pytaniu, należałoby użyć:

$('body').bind("touchstart", function(e){ 
     $('div#extras').fadeTo('fast', 1); 
}); 

&

$('body').bind("touchend", function(e){ 
     $('div#extras').delay(2000).fadeTo(1500, 0); 
}); 
+38

$ ('body'). ("Na MouseDown touchstart", function (e) {// to będzie działać na urządzeniach stacjonarnych i mobilnych jednocześnie }) – Denis

+0

tylko dodać, nie zapomnij używać 'e.preventDefault()' w przypadku nakładki/makra modelu. – Arshad

7

Niezupełnie.

Apple Docs

Cytat:

klikalny element jest linkiem, element formy, miejscami obraz mapy, lub jakikolwiek inny element z mouseMove, mouseDown, mouseUp lub onclick koparki . Element przewijalny to dowolny element z odpowiednim stylem przepełnienia, obszarami tekstowymi i przewijanymi elementami elementu iframe. Z powodu tych różnic może być konieczna zmiana niektórych elementów na klikalne elementy, jak opisano w "Making Elements Clickable", aby uzyskać pożądane zachowanie w systemie iPhone OS.

(Kopalnia nacisk)

+0

Hmm, nie jestem tego pewien, ale działa idealnie dla mnie na iPadzie. :) – Annie

6

Naprawdę nie odpowiadając na pytanie, ale może być przydatny dla ludzi, którzy przybyli tu po prostu spojrzeć na „jQuery mouseDown/mouseUp na iPadzie”

Zawsze używam go niewiele trick:

$(element).hover(function() { 
    // Do something 
}); 

to wyzwala na dotyk przy użyciu iPada i odwraca działanie po kliknięciu na zewnątrz elementu ponieważ jest to nawet unosić t. Na przykład:

// Assuming the element has 'opacity: 0' in CSS 

$(element).hover(function() { 
    $(this).animate({'opacity': 1}, 200); 
}); 

Tworzy efekt "kliknięcia" i efekt zanikania "na mouseup".