Можно ли привязать слушатель события к (гипотетическому) событию onChangeInnerHTML? - PullRequest
1 голос
/ 09 июня 2010

В моем приложении есть тег OL, содержимое которого изменяется различными другими динамическими событиями.Есть ли способ поместить слушателя в этот OL, чтобы я мог выполнять функцию всякий раз, когда ее содержимое каким-либо образом изменяется?В этом примере мне нужно обновить количество элементов в списке, который появляется в другом месте интерфейса.

Я использую jQuery, если это помогает.

Содержимое OLизменено с OL.append () и LI.remove (), в случае, если у этих методов есть какие-то особые события, о которых я не знаю

Спасибо!

Ответы [ 2 ]

2 голосов
/ 09 июня 2010

Что касается заявления J-P, если вы хотите, чтобы оно было управляемым событиями, вы можете использовать пользовательские события ..

$('#myDiv').bind('contentChange', function() {
   // do stuff
});

Когда вы меняете innerHTML #myDiv:

$('#myDiv').html('new Html').trigger('contentChange');

но, э-э, не уверен, почему ты хочешь ..

1 голос
/ 09 июня 2010

Есть плагин под названием livequery, который будет запускать код при добавлении элементов в DOM.

Я предполагаю, что добавляются li элементы.С livequery вы можете сделать что-то вроде этого:

$('#myol li').livequery(function() {...});

Он также может запускать код при удалении элементов:

$('#myol li').livequery(
     function() {...},  // Run when added
     function() {...}   // Run when removed
);

http://brandonaaron.net/code/livequery/docs


РЕДАКТИРОВАТЬ:

Это предполагает, что у вас нет доступа к коду, который изменяет DOM.Если вы это сделаете, Дэн Херберден найдет хорошее решение.

...