11484 sujets

JavaScript, DOM et API Web HTML5

salut à tous,

j'ai beaucoup cherché et je ne trouve rien la dessus j'ai un lien classic avec un onclick="fonction()" et j'essaie de le faire fonctionner sur ipad mais je n'y arrive vraiment pas

quelqu'un a une idée

merci d'avance
salut,
L'equivalent de l'evenement click() en javascript , j'en trouve pas, mais vu que le framework jquery est presque adopté par tous, je te propose l'equivalent de click() en jquery et qui marchera sur tous supports mobile ( ipad, iphone incluses)

var handleClick= 'ontouchstart' in document.documentElement ? 'touchstart': 'click';
$(document).on(handleClick,'.button',function(){
       alert('click marche sur mobile et desktop');
});
Modérateur
Bonjour,

Il me semble que le "onclick" marche sous ios sans avoir besoin de faire dans le bizarre.

La vérité est ailleurs !
@parsimonhi
Il me semble aussi ^^

@tartpion
Il n'y a pas d'évènement plus ou moins "simple", c'est juste le déclencheur qui diffère, les évènements portent assez bien leurs noms pour comprendre à quel moment ils sont déclenchés.

Le "onclick" est bien déclenché lorsqu'on fait une brève pression sur l'écran, cependant il y a toujours une latence de 500ms avant son déclenchement pour savoir si l'utilisateur n'a pas voulu faire un geste particulier (glisser le doigt pour scroller dans la page, faire un "double tap" pour zoomer...).

L'avantage de ontouch[start/end] c'est qu'ils sont exécutés immédiatement lorsque le doigt touche/se décolle de l'écran, c'est aussi un inconvénient car on ne sait pas si l'utilisateur n'a pas touché le bouton par hasard en voulant juste le prendre comme point d'accroche pour scroller dans la page.

Du coup : à utiliser en toute conscience selon le cas ou le comportement réellement souhaité.