Как отследить появление слова и выполнить функцию?
Как отследить появление определённого слова и выполнить функцию. Пытался что-то сделать, но этот код не работает. Где в нем ошибка?
const targetElement = document.querySelector(".send");
new MutationObserver( mutationsList, observer => {
for (let mutation of mutationsList) {
if (mutation.type === 'characterData' && targetElement.textContent.includes('Слово'))
{
myfunction();
}
}
}).observe(targetElement, {characterData: true, subtree: true });
function myfunction() {
alert("Hello! I am an alert box!!");
}
<div class="send">Слово</div>
Ответы (1 шт):
Автор решения: UModeL
→ Ссылка
Код рабочий, но нужно быть внимательнее с синтаксисом - если аргументов передаваемых в функцию больше, чем один, то весь набор нужно заключить в скобки:
new MutationObserver( mutationsList, observer => { ... } ) // Неправильно
new MutationObserver( (mutationsList, observer) => { ... } ) // Правильно
const targetElement = document.querySelector('.send');
new MutationObserver((mutationsList, observer) => {
for (let mutation of mutationsList) {
if (mutation.type === 'characterData' && targetElement.textContent.includes('Слово')) {
myfunction();
}
}
}).observe(targetElement, { characterData: true, subtree: true });
function myfunction() { alert('Hello! I am an alert box!!') }
<div class="send" contenteditable>Введите здесь "слово" с заглавной буквы: </div>