Actualmente necesito usar vanilla.js en mi aplicación debido a las entidades html que provienen de la base de datos y necesito tratarlas. Debido a que la compilación de babel ya finalizó, estoy haciendo esto usando el DOM. Estoy tratando de establecer un ícono dentro de un lapso, y cada vez que hago clic en este ícono, quiero eliminar todo el lapso. El caso es que puedo crear este ícono y establecer sus atributos como tamaño de fuente, etc., pero cuando se trata de la función onclick, simplemente no funciona, la función no se activa con el clic. Ya intenté usar una función de devolución de llamada dentro de él, una función vue, etc. Pero el evento no se activa en absoluto. ¿Qué puedo hacer?
icon.classList.add("material-icons", "cancel_icon") icon.innerHTML = "cancel" icon.style.fontSize = '14px' icon.style.position = 'relative' icon.style.top = '2px' icon.style.left = '2px' icon.onclick = () => this.removeSpan(span) console.log(icon.onclick) return span
puedes probar span.childNodes[0]
o span.firstChild
span.firstChild.addEventListener('click', this.removeSpan);
una forma si desea pasar un parámetro a una función de escucha es hacer lo que intenta con una devolución de llamada intermedia
let _this = this; span.firstChild.addEventListener('click', () => { _this.removeSpan(span); });