Изучаю чистый JS, хочу добавить методы и свойства для моих DOM элементов. В интернетах сказали, что напрямую записывать методы и свойства в DOM-элементы или их прототипы нельзя. Надо делать обертки. Я сделал примерно такую обертку для DIV элемента elem:
var wrapper= {};
wrapper.elem = document.createElement('div');
wrapper.paramenter = "none";
wrapper.hide= function(){this.elem.style.display = this.parameter};
Теперь я хочу задать для элемента обработчик события
wrapper.elem.onclick = wrapper.hide;
Но тогда this будет ссылаться на DOM элемент, а из него получить Родителя и его методы и свойства просто так не получится. Мне ранее посоветовали назначать обработчик событий через bind() функцию для привязки контекста к wrapper, но получается как-то сложно и контринтуитивно.
Как правильнее будет привязать методы и свойства к DOM-элементу и при этом корректно назначить к нему обработчик событий? Спасибо.