Verwenden Sie mousedown event auf Mobilgeräten ohne jQuery mobile?

Ich habe eine Web-App erstellt und wollte für ein bisschen Glanz Maus-Down- und Mouse-Up-Handler hinzufügen, um Bilder auszutauschen (in diesem Fall, um eine Schaltfläche so aussehen zu lassen, als würde sie gedrückt).

Mein Code ist ungefähr so:

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")});
}

Dies funktioniert problemlos auf dem Desktop, aber auf Mobilgeräten (Test in iOS Safari) werden Maus-Down- und Maus-Up-Ereignisse gleichzeitig ausgeführt, sodass im Endeffekt nichts passiert.

Ich habe versucht, die Ereignisse vmousedown und vmouseup in jQueryMobile zu verwenden, jedoch mit folgendem Code:

//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")});
}

Gib mir nur die Fehler, die vmousedown und vmouseup nicht existieren. Außerdem überschreibt jQueryMobile das CSS, das ich bereits für die Seite geschrieben habe.

Gibt es eine Möglichkeit, vmousedown und vmouseup zum Laufen zu bringen, und dies ohne das CSS von jQuery Mobile?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage