Vraag Touch API (bijvoorbeeld touchstart) werkt niet in MS Edge


mijn applicatie gebruikt de Touch API om aanraakgebeurtenissen in JavaScript te detecteren. Voorbeeld:

$(".element").on("touchstart", function(event){
    alert("TRUE");
});

Dit werkt op elk aanraakapparaat met elke browser zoals Android of iOS, maar het werkt niet in MS Edge op een Windows 10-tablet met of zonder een ingebouwd toetsenbord. De API lijkt te worden ondersteund: Compatibiliteitslijst. Ik heb het echter getest: 'ontouchstart' in window en dit geeft false op dit apparaat. voorts mousedown lijkt te zijn ontslagen.

Wat is hier aan de hand? Wat kan ik doen om touch-gebeurtenissen op een Windows 10-tablet af te vuren? Ik wil de gebeurtenis alleen houden voor apparaten met aanraakbediening. Overschakelen naar de Pointer Events API zou ook Desktop-apparaten bevatten en dat is niet wat ik wil.


15
2017-10-23 11:12


oorsprong


antwoorden:


voor touch API moet je een vlag activeren op Edge: voer in de adresbalk ongeveer: flags in en druk op Enter. In het gedeelte Aanraken kunt u aanraakgebeurtenissen met de bijbehorende vervolgkeuzelijst inschakelen


15
2017-12-21 13:53



Heb je aangepaste aanrakingsafhandeling ingeschakeld? Je kunt het doen met het volgende CSS-fragment (op de body-tag of alleen een container voor geastures):

-ms-touch-action: none;

Tik vervolgens op API is een webkit-functie (misschien is er een fout in CanIuse?). IE en Edge hebben een vergelijkbare functie die bekend staat als Pointer API. Maar je kunt een polyfill-bibliotheek als deze gebruiken: https://github.com/CamHenlin/TouchPolyfill


4
2017-12-11 15:40



Probeer de pointerdown evenement. Sommige (veel) meer informatie. Zoals je kan zien, touchstart wordt geactiveerd door Edge maar niet in alle configuraties, wanneer een toetsenbord bijvoorbeeld is gekoppeld / gekoppeld, nee touchstart.


0
2017-10-23 11:58