Я фактически застрял на простом (это наверняка это) примере.объект привязки javascript при создании события
<div id="first">first</div>
<div id="second">second</div>
<script>
var JSClass = {
element : null,
click : function() {
console.log(this.element.id);
},
created : function(element) {
this.element = element;
this.element.addEventListener('click', this.click.bind(this));
}
};
JSClass.created(document.querySelector('#first'));
JSClass.created(document.querySelector('#second'));
</script>
Связывая весь объект, когда я создаю событие, я должен получить «первый», когда я нажимаю на первый элемент и «второй», когда я нажимаю на втором элементе, но это не так. Это полностью функциональный для других объектов, которые я использую, но это простой случай не работает ...
Есть только один объект. Когда вы вызываете '.created()' второй раз, он перезаписывает значение свойства element, которое было установлено, когда вы вызывали его в первый раз. – Pointy
Измените 'JSClass' на функцию, которая возвращает объект. –