4

我有一个基于浏览器的聊天应用程序,其中为每个聊天创建单独的 div。
整个聊天由外部模块管理,我无权访问他们的代码。

请注意,任何地方都没有 id,只有为聊天窗口动态创建的 div 的 css 类名。

每当一个新的聊天对话开始时,就会在父 div(css 类:'tabcontent')下为该聊天创建一个新的 div(使用 css 类:chat_incoming)。

使用 jQuery,我如何监视父级(使用 css 类:tabcontent)div 是否有任何更改,例如添加新子级(使用 css 类:chat_incoming)?

我在这里没有可用于监视 div 的单击事件,也没有在聊天信使窗口加载后立即加载 div。用户登录后可能会随时发起​​聊天,在此之前父 div 不会为聊天创建子 div。

我自己做了一些功课,但没有成功。

使用 jQuery,我有点明白我可能必须使用“.on”才能监控已经可用/动态创建的 div 的事件,但我没有点击事件来与 JQuery .on() 一起使用。

我的下一个猜测是使用

$('tabcontent').bind('DOMNodeInserted DOMNodeRemoved', function(event) {alert('hi')});

但由于某种原因,这似乎也不起作用?(在这里看小提琴)

任何指导表示赞赏。

谢谢你。

4

2 回答 2

3

您的 jQuery 正在寻找tabcontent,而不是.tabcontent. 就像在一个名为 的标签中一样tabcontent,而不是在一个名为的类中tabcontent

改变它,它应该开始工作(希望,如果脚本中的其他一切都很好)

$('.tabcontent').bind('DOMNodeInserted DOMNodeRemoved', function(event) {alert('hi')});
于 2012-11-21T12:51:58.330 回答
1

你可以试试这个。。

$(".tabcontent").bind("DOMSubtreeModified", function() {
    alert("tree changed");
});

希望这可以帮助

于 2012-11-21T12:53:25.803 回答