爲什麼DOMSubtreeModified事件deprecated和我們應該使用什麼呢?爲什麼在DOM級別3中不推薦使用DOMSubtreeModified事件?
45
A
回答
46
如果scroll down a bit,你看:
警告!在DOM Level 2 事件中引入了接口
MutationEvent
,但在用戶代理中尚未完全且可互操作地實現 。此外,還有人批評設計中的 接口引入了性能和實施 的挑戰。一個新的規範正在開發中,其目標是 解決了突變事件解決的用例,但更多的是以高性能的方式。因此,本規範描述了突變事件 以作爲傳統行爲的參考和完整性,但不贊成使用MutationEvent
接口和MutationNameEvent
接口。
替換API是mutation observers,它是完全指定的in the DOM Living Standard,它取代所有的DOM級別X silliness。
18
我想更換將突變觀察員:https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver
var whatToObserve = {childList: true, attributes: true, subtree: true, attributeOldValue: true, attributeFilter: ['class', 'style']};
var mutationObserver = new MutationObserver(function(mutationRecords) {
$.each(mutationRecords, function(index, mutationRecord) {
if (mutationRecord.type === 'childList') {
if (mutationRecord.addedNodes.length > 0) {
//DOM node added, do something
}
else if (mutationRecord.removedNodes.length > 0) {
//DOM node removed, do something
}
}
else if (mutationRecord.type === 'attributes') {
if (mutationRecord.attributeName === 'class') {
//class changed, do something
}
}
});
});
mutationObserver.observe(document.body, whatToObserve);
相關問題
- 1. 爲什麼在Rails 3中不推薦使用驗證?
- 2. 爲什麼Logger.isInfoEnabled不推薦使用org.jboss.logging.Logger?
- 3. 爲什麼不推薦使用isJavaLetterOrDigit?
- 4. 爲什麼不推薦使用JButton.enable?
- 5. 爲什麼不推薦使用struts2 FilterDispatcher?
- 6. 爲什麼SET不推薦使用?
- 7. 爲什麼不推薦使用StringTokenizer?
- 8. std :: iterator爲什麼不推薦使用?
- 9. Object.observe()爲什麼不推薦使用
- 10. 爲什麼不推薦使用std :: strstream?
- 11. 爲什麼不推薦使用body.scrollTop?
- 12. 爲什麼不推薦HibernateTemplate?
- 13. 爲什麼不推薦使用window.showModalDialog?代替使用什麼?
- 14. 爲什麼不推薦使用assert_template,而應該使用什麼?
- 15. 什麼時候推薦在NHibernate中使用第二級緩存
- 16. 爲什麼在Rails中不推薦使用auto_link?
- 17. 爲什麼在Python中不推薦使用MutableString?
- 18. 爲什麼在PHP中不推薦使用`ereg`?
- 19. 爲什麼在JAVA中不推薦使用默認包?
- 20. 爲什麼在Django 1.5+中不推薦使用markdown?
- 21. 爲什麼不推薦在SQL中使用「LIKE」?
- 22. 爲什麼在Guava中不推薦使用Files.deleteDirectoryContents()?
- 23. 爲什麼在Angular中不推薦使用「導出默認」?
- 24. 爲什麼在glibc中不推薦使用'sys_errlist'?
- 25. 爲什麼在Akka 2.0.2中不推薦使用akka.jsr166y.ForkJoinPool?
- 26. 推薦鐺優化級別?
- 27. jQuery切換不推薦使用什麼?
- 28. Java Swing組件 - 爲什麼不推薦使用HTML標記?
- 29. DOM級別3規範的事件組章節發生了什麼?
- 30. DOM Level 0事件與DOM Level 2事件有什麼區別?
「滾動了起來,」 你的意思。 :-) –
@ TJ - 不下來。上面的是* DOMNodeRemovedFromDocument *。 :-) – RobG
替換將進入DOM級別4 http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#mutation-observers,並且它似乎在Chromium https:/ /中有一些進展。 /bugs.webkit.org/show_bug.cgi?id=73851 –