JSFiddle - React, Tailwind, and code Playground
HTML
<div>
en dessous un canvas vide <br>
<canvas id="signature">
</canvas><br>
là il est finit <br>
<button id="boutonEffacer">
Vidage
</button>
</div>
CSS
canvas{
height: 200px;
width: 200px;
background-color: red;
}
JavaScript
// Objet signature ==> Le canvas
var Signature = {
// Attributs
ecriture : false, // Attribut d'activation de l'écriture
canvas : document.getElementById("signature"), // Sélection du canvas dans le HTML
context : null, // Définira le contexte d'utilisation du canvas
signatureImg : null,
// Méthode qui traduit l'événement Touch en Évent pour écrans tactiles
convertTouchEvent : function(ev) {
var touch, ev_type, mouse_ev;
touch = ev.targetTouches[0];
ev.preventDefault();
switch (ev.type) {
case 'touchstart':
// S'assure qu'un doigt est sur la cible
if (ev.targetTouches.length != 1) {
return;
}
touch = ev.targetTouches[0];
ev_type = 'mousedown';
break;
case 'touchmove':
// S'assure qu'un doigt est sur la cible
if (ev.targetTouches.length != 1) {
return;
}
touch = ev.targetTouches[0];
ev_type = 'mousemove';
break;
case 'touchend':
// Sassure que le doigt a été enlever de la cible
if (ev.changedTouches.length != 1) {
return;
}
touch = ev.changedTouches[0];
ev_type = 'mouseup';
break;
default:
return;
}
mouse_ev = document.createEvent("MouseEvents");
mouse_ev.initMouseEvent(
ev_type, // Genre de l'événement
true,
true,
window, // Vue de l'événement
0, // Compte de clic de souris
touch.screenX, // Coordonnée X de l'écran
touch.screenY, // Coordonnée Y de l'écran
touch.clientX, // Coordonnée X du client
touch.clientY, // Coordonnée Y du client
ev.ctrlKey, //...