在我的应用程序中,我有一个OL标记,其内容由各种其他动态事件更改。是否有某种方法可以将侦听器放在该OL上,这样只要其内容以任何方式被更改,我就可以执行某个函数?在这个例子中,我需要更新列表中显示在界面中另一个位置的项目数。
如果有帮助,我正在使用jQuery。
使用OL.append()和LI.remove()更改OL的内容,以防这些方法有一些我不知道的特殊事件
谢谢!
答案 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 有一个很好的解决方案。