我如何更改以下代码(使timeago插件工作)使用on()函数(或其他函数)以便可以实时使用?我似乎无法弄明白(我对JQuery很新)。
jQuery(document).ready(function() {
jQuery("a.timeago").timeago();
});
如何做到这一点?
答案 0 :(得分:0)
您可以使用MutationObserver检查修改DOM的时间:https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver
您选择要观察的节点。对于您的项目,您应该观察将创建a.timeago
元素的容器。 <body>
很好,但会为浏览器带来更多工作。然后,只要dom改变,就会触发回调。抓住你关心的元素。
从文档修改:
// select the target node
var target = document.querySelector('#your-container');
// create an observer instance
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
mutation.addedNodes.forEach(function(addedNode) {
// if the addedNode matches $('a.timeago')
// $(addedNode).timeago();
});
});
});
// configuration of the observer:
var config = { attributes: true, childList: true, characterData: true };
// pass in the target node, as well as the observer options
observer.observe(target, config);
// later, you can stop observing
observer.disconnect();