Używając mousedown event na telefonie bez jQuery mobile?

Zbudowałem aplikację webową, a dla odrobiny języka polskiego, chciałem dodać obsługę mousedown i mouseup, aby zamienić obrazy (w tym przypadku, aby przycisk wyglądał tak, jakby był wciśnięty).

mój kod wygląda mniej więcej tak:

window.onload = function() {
    //preload mouse down image here via Image()
    $("#button_img").mousedown(function(){$("#button_img").attr("src","button_on.png");});
    $("#button_img").mouseup(function(){$("#button_img").attr("src","button_off.png")});
}

Działa to płynnie na pulpicie, ale na urządzeniach mobilnych (testowanie w iOS Safari) zdarzenia związane z mousedown i mouseup zdarzają się w tym samym czasie, tak więc nic się nie dzieje.

Próbowałem użyć zdarzeń vmousedown i vmouseup w jQueryMobile, jednak ten kod:

//include jquerymobile.js and jquerymobile.css 
window.onload = function() {
    //preload mouse down image here via Image()
    $("#button_img").vmousedown(function(){$("#button_img").attr("src","button_on.png");});
    $("#button_img").vmouseup(function(){$("#button_img").attr("src","button_off.png")});
}

Właśnie podałem mi błędy, których nie ma vmousedown i vmouseup. Ponadto jQueryMobile zastępuje CSS, który już napisałem dla strony.

Czy jest więc sposób, aby vmousedown i vmouseup zadziałały, i to bez CSS jQuery Mobile?

questionAnswers(3)

yourAnswerToTheQuestion