У меня есть кнопка:
<button type="button" id="errorLog" class="btn btn-secondary btn-lg btn-block">Download</button>
, которая видна только при выполнении условия.Я пытаюсь добавить прослушиватель событий, чтобы запустить JavaScript на основе видимости кнопки.В своем исследовании я вижу, что могу использовать MutationObserver
, но по какой-то причине я получаю ошибку:
'наблюдаем' в 'MutationObserver': параметр 1 не относится к типу 'Node'
После поиска я увидел:
, но по какой-то причине, когда я кодирую MutationObserver
как:
let errorFile = document.getElementById('errorLog')
var observer = new MutationObserver(function() {
if (errorFile.style.display == 'display') {
console.log('foobar')
}
})
const config = {
attributes: true,
childList: true,
characterData: true
}
observer.observe(errorFile, config)
, я получаю ошибку Uncaught TypeError: Failed to execute 'observe' on 'MutationObserver': parameter 1 is not of type 'Node'
, поэтому я попробовал условие:
let errorFile = document.getElementById('errorLog')
if (errorFile != null) {
var observer = new MutationObserver(function() {
if (errorFile.style.display == 'display') {
console.log('foobar')
errorLog.addEventListener('click', (e) => {
e.preventDefault
console.log('fired click')
})
}
})
const config = {
attributes: true,
childList: true,
characterData: true
}
observer.observe(errorFile, config)
}
Я также ссылался:
, но он даже не срабатывает.Как запустить JavaScript на основе видимости кнопки?