Я пытаюсь добавить класс в мою карту svg внутри углового события onclick: у меня есть рабочий код, который работает внутри ngOnInit (), но когда я добавляю тот же код в функцию события click, он не работает:
Мой код ngOnInit:
ngOnInit() {
let a = document.getElementById("biharsvg") as HTMLObjectElement;;
a.addEventListener("load", function() {
var svgDoc = a.contentDocument;
var wchamparan = svgDoc.getElementById("wchamparan");
console.log(wchamparan);
wchamparan.onclick = function() {
alert("hello");
}
})
}
Этот код работает нормально, я вижу журнал, но когда я делаю это в событии нажатия кнопки, код которой:
click() {
alert("hello");
let a = document.getElementById("biharsvg") as HTMLObjectElement;
// var wchamparan = svgDoc.getElementById("wchamparan");
// element.classList.add("mystyle");
a.addEventListener("load", function() {
let svgDoc = a.contentDocument;
let wchamparan = svgDoc.getElementById("wchamparan");
wchamparan.classList.add("mystyle");
console.log("hello");
})
}
Здесь я вижу предупреждающее сообщение. Я также вижу, что внутри, но a.addEventListener ("load", function () я ничего не вижу. Почему это не работает, в чем разница между ngOnInit () и onclick?)функция. Что не так с этим кодом.