下面是处理节点插入事件的一个好方法。为要使用css添加的元素设置动画。
<style type="text/css">
/* set up the keyframes; remember to create prefixed keyframes too! */
@keyframes nodeInserted {
from { opacity: 0.99; }
to { opacity: 1; }
}
#parent > button {
animation-duration: 0.001s;
animation-name: nodeInserted;
}
</style>
#parent是股利,其中我要去追加按钮的 动态的ID。
<script type="text/javascript">
var insertListener = function(event){
if (event.animationName == "nodeInserted") {
// This is the debug for knowing our listener worked!
// event.target is the new node!
console.warn("Another node has been inserted! ", event, event.target);
}
}
document.addEventListener("animationstart", insertListener, false); // standard + firefox
document.addEventListener("MSAnimationStart", insertListener, false); // IE
document.addEventListener("webkitAnimationStart", insertListener, false); // Chrome + Safari
setInterval(function(){
var btn = document.createElement("BUTTON");
var t = document.createTextNode("CLICK ME"); // Create a text node
btn.appendChild(t);
document.getElementById("parent").appendChild(btn);
}, 2000);
</script>
你打算申请什么样的功能?您可以监听DOMNodeInsertedIntoDocument事件,但这可能适用于许多您不感兴趣的插入节点。 – nrabinowitz 2012-03-19 22:41:53
我对每个节点都感兴趣。我正在改变页面上所有内容的颜色。 – Muhd 2012-03-19 22:42:46