لماذا على أجهزة الكمبيوتر المحمولة التي تعمل باللمس توقفت بعض SPA لدعم أحداث اللمس

ربما كنت قد انتهيت للتو ، والجميع يعرفون لفترة طويلة ، ولكن اتضح أنهم فعلوا ذلك في Chrome 70: واجهات برمجة التطبيقات ontouch * الافتراضية معطلة على سطح المكتب

وفقًا لذلك ، إذا كنت تعتمد في الكود الخاص بك على وجود مفاتيح "ontouch *" في مستند أو نافذة ، فلن يحدد الكود الخاص بك ما يعمل على جهاز اللمس.

واجهت خطأ مطبعيًا:

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

وعندما توقفت صحة الشرط الأول ، تم ثبوت الشرط الثاني. يجب أن يكون هناك navigator.maxTouchPoints

ولكن ، على سبيل المثال ، في jQuery UI Touch Punch 0.2.3 ، يتم استخدام الكود التالي:

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

تبعا لذلك ، فقد الدعم أيضا.

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


All Articles