Есть ли способ наблюдать за содержимым конкретного DIV, я хочу вызвать функцию, как только будет изменено содержимое DIV.Наблюдение за содержимым конкретного DIV
Это может быть замена innerHTML, загрузка страницы.
Благодаря
Есть ли способ наблюдать за содержимым конкретного DIV, я хочу вызвать функцию, как только будет изменено содержимое DIV.Наблюдение за содержимым конкретного DIV
Это может быть замена innerHTML, загрузка страницы.
Благодаря
В this page, он говорит, что DIVs должны стрелять OnChange, когда их содержание изменяется.
Наблюдение за изменением не является эффективным методом. Изучали ли вы код, который изменяет содержимое DIV для запуска и события?
В качестве альтернативы вы можете установить таймер, который отслеживает изменения в вашем div и запускает какое-либо событие.
Вы можете проверить содержимое элемента по сравнению с предыдущим значением.
Получить элемент смотреть
var div = document.getElementById("w");
Создать Бодрствующего:
var w1 = { watch: null, prev: div.innerHTML };
Начало наблюдающий. Каждый 100 мс будет сравнивать предыдущее значение с текущим значением, если он отличается, он будет обновлять значение и запускать любые действия.
function Watch(w, e)
{
w.watch = setInterval(function() {
if (e.innerHTML != w.prev)
{
w.prev = e.innerHTML;
alert("changed");
}
}, 100);
}
Watch(w1, div);
В современных браузерах вы можете использовать мутации DOM события как DOMSubtreeModified
, DOMCharacterDataModified
. В IE у вас есть onchange
событие, которое вы можете использовать. Для всех других браузеров вы можете настроить таймер для проверки того, был ли контент изменен.
-1 'onchange' чувствителен к регистру, и это не кросс-браузер – galambalazs