Это будет зависеть от браузера.
Если вы используете браузер, поддерживающий addEventListener()
, они добавят обработчик, использующий это.
Хотя я почти уверенна самом деле они присоединяют функцию, которая сначала восстанавливает / нормализует объект event
, затем проверяет элемент DOM для свойства jQuery12345...
, ищет обработчик в jQuery.cache
и вызывает его.
Если выЗаписав свой элемент в консоль, вы увидите свойство, которое выглядит примерно так:
jQuery1296081364954: 1
Затем, если вы зарегистрируете этот номер на консоли из jQuery.cache
, вы увидите соответствующие данные.
console.log(jQuery.cache[1]);
... что даст структуру примерно так:
{
events:{
click:[
{ /* object containing data relevant to the first click handler */ }
]
},
handle:{ /* this may be what initially gets called. Not sure. */ }
}
Поскольку jQuery нормализует объект события, это не так просто, как просто назначить обработчик дляты и звонишь.Я считаю, что это также делается с кешем, чтобы избежать утечек памяти в старых браузерах.