sgc*_*lie 10 javascript dom javascript-events
在将元素添加到DOM后,有没有人知道如何在元素的javascript中触发事件?
一般的想法是这样的:
var elem = document.createElement('div');
elem.addEventListener('ON_ADD_TO_BODY', function(){console.log(elem.parentNode)});
//... LATER ON ...
parentElemInBody.appendChild(elem); // <- Event is triggered here after append
Run Code Online (Sandbox Code Playgroud)
在将元素添加到DOM之前,有些函数不应被触发,因此在添加元素之前延迟执行是有意义的.
有没有办法在没有明确需要稍后调用它们的情况下执行此操作,或者我应该执行一些包含a setTimeout和检查以查看元素是否已添加到DOM的hack ?
tec*_*bar 14
使用DOMNodeInserted突变事件.
文档:https://developer.mozilla.org/en-US/docs/DOM/Mutation_events
上页给出的示例用法:
element.addEventListener("DOMNodeInserted", function (ev) {
// ...
}, false);
Run Code Online (Sandbox Code Playgroud)
注:2016年4月17日
Mutation Events目前已被弃用.现在推荐的方法是 Mutation Observers.
| 归档时间: |
|
| 查看次数: |
9315 次 |
| 最近记录: |