Je suis en train de faire un bouton, de sorte que lorsque l'utilisateur clique dessus, il change son style, tandis que le bouton de la souris est maintenu enfoncé. Je tiens aussi à changer son style dans une manière similaire, si il est touché dans un navigateur mobile. Apparemment l'-chose évidente pour moi, c'était d'utiliser le CSS :active la pseudo-classe, mais cela ne fonctionne pas. J'ai essayé :focus, et il ne fonctionne pas trop. J'ai essayé :hover, et ça semblait fonctionner, mais elle a gardé le style après, j'ai pris mon doigt sur le bouton. Toutes ces observations ont été sur un iPhone 4 et un Droid 2.
Est-il possible de reproduire l'effet sur les navigateurs mobiles (iPhone, iPad, Android, et j'espère que d'autres)? Pour l'instant, je suis en train de faire quelque chose comme ceci:
<style type="text/css">
#testButton {
background: #dddddd;
}
#testButton:active, #testButton.active {
background: #aaaaaa;
}
</style>
...
<button type="button" id="testButton">test</button>
...
<script type='text/javascript' src='http://code.jquery.com/jquery-1.6.1.min.js'></script>
<script type='text/javascript'>
$("*").live("touchstart", function() {
$(this).addClass("active");
}).live("touchend", function() {
$(this).removeClass("active");
});
</script>
L' :active la pseudo-classe est pour les navigateurs de bureau, et la classe active est pour toucher les navigateurs.
Je me demande si il existe un moyen plus simple de le faire, sans la participation du Javascript.