/ / Jakikolwiek sposób wykryć Force Click with Javascript? - javascript, macos, przeglądarka, click, pressure.js

Jakikolwiek sposób wykryć Force Click przy pomocy Javascript? - javascript, macos, przeglądarka, click, pressure.js

Czy istnieje sposób na wykrycie Force Click with Javascript? Wiem, że są sposoby na wykrywanie regularnych i prawidłowych kliknięć, ale co z kliknięciami siły?

Odpowiedzi:

2 dla odpowiedzi № 1

Posłuchaj webkitmouseforcewillbegin i webkitmouseforcedown wydarzenia. Możesz uzyskać poziom siły od webkitForce właściwość w obiekcie przekazanym do obsługi zdarzenia.

Oczywiście działa to tylko w Safari na komputerach Mac z obsługą Force Touch.

Źródło: Dokumentacja programowania WebKit DOM


3 dla odpowiedzi № 2

Znalazłem bibliotekę JS o nazwie Pressure.js dzięki czemu obsługa Force / 3D Touch staje się prostsza. Działa zarówno na iOS z obsługą 3D Touch, jak i OSX z siłą dotyku. Jeśli używasz go tylko do wymuszonego dotyku na Macu, możesz go użyć w ten sposób:

Pressure.set("#element", {
start: function(event){
// this is called on force start
},
end: function(){
// this is called on force end
},
startDeepPress: function(event){
// this is called on "force click" / "deep press", aka once the force is greater than 0.5
},
endDeepPress: function(){
// this is called when the "force click" / "deep press" end
},
change: function(force, event){
// this is called every time there is a change in pressure
},
unsupported: function(){
// this is called once there is a touch on the element and the device or browser does not support Force or 3D touch
}
}, {only: "force"});

The {only: "force"} opcje na końcu upewnij się, że działa tylko dla wymuszonego dotyku na Macu, a nie również na iOS. Jeśli chcesz, aby działał na obu prostych, usuń tę opcję.