У меня есть этот код, который ждет, пока специфика c HTMLElement
загрузится внутри некоторого родительского элемента. Я добился этого с помощью MutationObserver
, который срабатывает каждый раз, когда childList
родительского элемента изменяется. Когда элемент создан, он выделяет весь текст внутри него и отключает наблюдателя. Но что, если элемент никогда не создается? Как лучше всего отключить наблюдателя?
текущий код:
selectTextOnEdit(cell: HTMLTableCellElement) {
const observer = new MutationObserver(mutations => {
mutations.forEach(mutation => {
if (mutation.addedNodes && mutation.addedNodes.length > 0) {
const inputElement = cell.querySelector('input');
if (inputElement) {
inputElement.select();
observer.disconnect();
}
}
});
});
observer.observe(cell, {childList: true});
}