Как стать автором
Обновить

Комментарии 16

Благими намерениями...


С другой стороны, ситуация с «несовместимостью» mouse* и touch* эвентов иногда, действительно, мешает.
На данный момент так и есть (как на картинке). Только только я привык совмещать mouse и тоuch события, так теперь приходится обращать внимание и на MSPointer, а скоро и на pointer. Но в данном случае мы имеем не 14 конкурирующих стандартов, а разные стандарты для каждого типа устройств, что, как вы тоже заметили, мешает. И Microsoft, в данном случае, реализовал не свои собственные touch события с теми или иными отличиями, а предложил более простой и удобный способ взаимодействия с пользователем. Какое место ему предназначено в истории веб-стандартов мне тяжело сказать, но то, что мне нравится такой подход — это несомненно. И если его будут использовать все браузеры, я забуду об остальных 14-ти ))
И Microsoft, в данном случае, реализовал не свои собственные
Опыт с поддержкой нескольких версий ИЕ говорит, к сожалению, об обратном…
Надеюсь, что ошибаюсь.
Даа, тяжело представить себе как все веб-разработчики ругают Google Chrome за то, что он отстает от IE и не поддерживает стандарты
Вы бы хоть полифиллы погуглили :)
www.polymer-project.org/platform/pointer-events.html

По браузерам точно не укажу, но гарантированно ie10+, safari 6, safari mobile, последние версии хрома и фф. По опыту работы с другими полифиллами полимера. скорее всего поддерживается на самом деле ie9+, и хром и лиса где-то с двадцатых версий.
В статье как бы про это написано, вы бы хоть прочли её.

> Библиотеку pointerevents на данный момент рассматривать не будем, поскольку Internet Explorer поддерживается в ней, начиная с 10-ой версии, что для российской части интернета пока недостаточно.
вы бы хоть комментарий прочли. Конкретно с этим полифиллом я не работал, но имел дело с пятью полифиллами: weakmap, mutationobserver, observe-js, html imports, custom elements из полимера, все из них, несмотря на декларирование ie10+ only, вполне неплохо работали с ie9+.
На weakmap+mutationObserver работает моя собственная библиотека, и я ее долго и упорно тестировал под ie9+, чтобы убедиться в стабильности; mozilla X-tags опираются на custom elements и HTML Imports, и декларируют ie9+.

Полимеры — известные перестраховщики, у них есть на то право. Они делают будущее веба, на настоящее веба они имеют право не оглядываться, веб компонентов будет актуален только года через два-три, а пока они делают proof of concept и фрейморк-для-фреймворков.

Я практически уверен, что pointer events спокойно заведутся в ie9+(в ie8 не заведутся только из-за отсутствия addEventListener), в куче мобильных браузеров и так далее.

И да, Pointer Events by Polymer — это не библиотека, это полифилл (polyfill / shim). Библиотеки добавляют функционал на основе дополнительной спецификации, например, jQuery работает в соответствии с собственной документацией. Полифиллы предоставляют стандартный функционал на устаревших платформах, следуя публично доступной спецификации, утвержденной сообществом или вендором. Разница заключается в том, что полифиллы обеспечивают следование стандартам там, где это было не предусмотрено, и в вебе, например, могут со временем безболезненно убираться из кода. В 2015 году вы не сможете выдрать из старого сайта жквери, а вот полифилл для pointer events — спокойно сможете.
Такое ощущение, что вы просто пропустили ссылку, а теперь пытаетесь исправиться. Ни к чему и извиняюсь, если не прав. К сожалению, не я автор этой полифилл-библиотеки (так можно?), поэтому указал те браузеры, которые заявлены именно разработчиками.
Доброго времени. NekR прав, в статье как раз упоминается об этой библиотеке. Но, погуглив, вы конечно сможете найти еще несколько подобных, которые не упоминаются в посте или написать свою собственную для этих целей. Суть не в этом. В статье указаны наиболее часто встречающиеся мне библиотеки в пример того, что уже сейчас можно применять pointer события на «живых» проектах.
Я просто по своему опыту знаю что библиотеки от полимера всегда стоит принимать во внимание. И самому проверять, в каких браузерах они поддерживаются, тот же самый MutationObserver полифилл не работал в ie8 и андроиде 2.3 только, во всех остальных хоть сколько-то актуальных ощущался практически как нативный, несмотря на их «мы поддерживаем только последние версии браузеров».
Спасибо, учтем-с…
мир тесен, я автор jQuery PointerEvents :)

плагин родился в недрах Яндекса как раз по причине того, что нужна поддержка как минимум IE 8: hand.js – IE9+ (не говоря про очень корявый код в целом), polymer-project – IE 10+.

на данный момент в моём полифилле есть один назойливый недостаток, но он будет наконец побёждён уже буквально на этой неделе – мы сами пробуем жить с новыми событиями в уже вполне реальном bem-core.
А в мире web-разработок вообще не протолкнуться ))
Доброго времени.

Спасибо за дельность.

Читал ваш доклад про универсальные touch события и слайдер, где так же затрагивается этот вопрос, теперь вспомнил, где я видел картинку из первого комментария.

А можно как-то поподробнее про недостаток? Или подскажите, пожалуйста, куда смотреть. Насколько это страшно и в чем он проявляется.
проблема может возникнуть в случае, если на тач-девайсах слушаются pointerleave на нескольких вложенных друг в друга элементах. вот пытаюсь правильно разрулить все таргеты при всплытии событий.
это в принципе не такой частый кейс.
собственно, уже всё :)
Отлично, будем юзать. Спасибо.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории