タッチラップトップで、一部のSPAがタッチイベントをサポートしなくなった理由

たぶん私はたった今、誰もが長い間知っていますが、Chrome 70ではこれをやったことがわかりましたontouch * APIはデフォルトでデスクトップで無効になっています

したがって、コード内でドキュメントまたはウィンドウ内の'ontouch *'キーの存在に依存している場合、コードはタッチデバイスで動作するものを決定しなくなります。

私はタイプミスに遭遇しました:

var isTouchDevice = (('ontouchstart' in window) || (navigator.MaxTouchPoints > 0) || (navigator.msMaxTouchPoints > 0)); 

そして、最初の条件が真でなくなると、2番目の条件が台無しになりました。 navigator.maxTouchPointsがあったはずです

そして、ここで、たとえば、 jQuery UI Touch Punch 0.2.3では 、次のコードが使用されます。

  $.support.touch = 'ontouchend' in document; 

したがって、サポートも失われます。

Source: https://habr.com/ru/post/J429052/


All Articles