amsul / pickadate.js

The mobile-friendly, responsive, and lightweight jQuery date & time input picker.
http://amsul.ca/pickadate.js
MIT License
7.7k stars 1.02k forks source link

`getRealEventTarget` should use `Event.composedPath()` instead of `Event.path` #1239

Open xiaochengh opened 2 years ago

xiaochengh commented 2 years ago

https://github.com/amsul/pickadate.js/blob/0fd34eab2b4127bc93dedca70285f1d38eb89983/lib/picker.js#L996-L1017

getRealEventTarget() uses Event.path, which is a non-standard API available only in Chromium-based browsers.

It should instead use Event.composedPath() [1], which is a standard API that returns the same result but is supported by all major browsers [2].

Chromium is also deprecating Event.path in favor of Event.composedPath().

See: [1] https://developer.mozilla.org/en-US/docs/Web/API/Event/composedPath [2] https://caniuse.com/?search=Event.composedPath [3] https://bugs.chromium.org/p/chromium/issues/detail?id=1277431