Другой вариант - добавить метку времени в обработчик.Предположительно, только метка времени, которую вы пишете, действительно заботится о отметке времени, и, поскольку вы контролируете код, который вы пишете, вы можете использовать свою собственную вспомогательную функцию «listen».Что-то вроде:
var myAddListener = function(name, fn, scope){
addEventListener(name, function(e){
if(!e.timeStamp) e.timeStamp = +new Date;
fn.apply(scope || null, arguments);
});
}
Пока ваш код, зависящий от метки времени, прикреплен, все в порядке.Обратите внимание, что я добавил аргумент «видимость», когда я занимался этим… это удобный способ сохранить «это» при использовании слушателей в экземплярах классов.