Вы можете сохранить сам объект:
theEvent = e;
Если по какой-либо причине вы не хотите этого делать, вы можете скопировать собственные свойства объекта, используя расширенную запись или Object.assign
:
// Property spread
theEvent = {...e};
// Or Object.asign
theEvent = Object.assign({}, e);
... но я не удивлюсь, если вы обнаружите, что некоторые свойства были унаследованными свойствами доступа, а не собственными свойствами объекта.
Как упоминает frobinsonj , вы также можете использовать деструктуризацию, поэтому вам нужно перечислить свойства только один раз. Кажется, в вашем коде эти переменные объявлены в другом месте и просто установлены внутри функции, что вы можете сделать с помощью деструктурирования следующим образом:
({altKey, pageX, pageY, buttons} = e);
Вам нужен ()
, потому что в противном случае в контексте оператора {
запускает блок. (примеру Фробинсоня они не нужны из-за var
.)