Mam taki kod, nie działa mi odwołanie do this.odpowiedz(); domyślam się że trzeba tutaj użyć binda ale nie wiem dokładnie jak to działa i jakbym miał to zrobić żeby działa, więc jakby ktoś miał pomysł to poproszę. Jest to tylko część kodu. I takie pytanie, tak gdzie używam var , może to tak zostać czy jak piszę w ten sposób unikać czegoś takiego ?
String.prototype.escapeDiacritics = function()
{
return this.replace(/ą/g, 'a').replace(/Ą/g, 'A')
.replace(/ć/g, 'c').replace(/Ć/g, 'C')
.replace(/ę/g, 'e').replace(/Ę/g, 'E')
.replace(/ł/g, 'l').replace(/Ł/g, 'L')
.replace(/ń/g, 'n').replace(/Ń/g, 'N')
.replace(/ó/g, 'o').replace(/Ó/g, 'O')
.replace(/ś/g, 's').replace(/Ś/g, 'S')
.replace(/ż/g, 'z').replace(/Ż/g, 'Z')
.replace(/ź/g, 'z').replace(/Ź/g, 'Z');
}
var talk = {
array:[],
array2:[],
init:function(){
this.cacheDom();
this.observeCon();
},
observeCon:function(){
var target = document.getElementById('chat');
var config = { attributes: true, childList: true, characterData: true };
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
if(mutation.addedNodes[0].childNodes[0].childNodes[0]..data=="Rozmówca"){
var wiadomosc = mutation.addedNodes[0].childNodes[0].childNodes[2].childNodes[0].data;
var wiadom = wiadomosc.escapeDiacritics();
var wiad = wiadom.toUpperCase();
this.odpowiedz(wiad);
}
});
});
observer.observe(target,config);
},
odpowiedz:function{
console.log("dziala");
}
};
talk.init();