可以将事件监听器绑定到(假设的)onChangeInnerHTML事件?

时间:2010-06-09 19:21:30

标签: javascript jquery events dom javascript-events

在我的应用程序中,我有一个OL标记,其内容由各种其他动态事件更改。是否有某种方法可以将侦听器放在该OL上,这样只要其内容以任何方式被更改,我就可以执行某个函数?在这个例子中,我需要更新列表中显示在界面中另一个位置的项目数。

如果有帮助,我正在使用jQuery。

使用OL.append()和LI.remove()更改OL的内容,以防这些方法有一些我不知道的特殊事件

谢谢!

2 个答案:

答案 0 :(得分:2)

参考J-P的陈述,如果你想要事件驱动你可以使用自定义事件..

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

当您更改#myDiv的innerHTML时:

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

但是,呃,不知道为什么你想要......

答案 1 :(得分:1)

有一个名为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的代码。如果你这样做, Dan Herberden 有一个很好的解决方案。