Например события движения мышки в новых браузерах поддерживают такое свойство как movementX, но с префиксами.
Мы просто можем добавить прокси заглушки на прототип событий мыши.
И эта прокси заглушка автоматически будет перенаправлять все взаимодействия с ней на вендорное свойство.
fix.addProxyCap({
target: MouseEvent.prototype,
caps: {
movementX: null,
movementY: null
}
});
БАБАХ, и все работает)
e.movementX в событиях становятся доступными ))
А за место null можно написать альтернативную реализацию.
При обращении к свойству ищутся вендорные аналоги, если не находятся то применяется алььтернативная реализация, если и её нет, то ПРИ ОБРАЩЕНИИ к этому свойству события) срабатывает событие "устарелый браузер"
п.с. по скольку прокси мы вешаем на прототип, то если в самом обьекте event появится БЕЗПРЕФИКСНОЕ это свойство, то запрос до нашей прокси так и не дойдет)))