是否可以检测节点中的更改';使用dojo创建标记文本?

是否可以检测节点中的更改';使用dojo创建标记文本?,dojo,Dojo,我有一堆节点,它们将包含不可预测结构中的标记。我希望能够观察这些节点,看看是否有任何子节点或其子节点的html发生了变化,不管变化有多小。如果他们这样做了,那么我想发起一场活动 我可以通过dojo来完成吗?我用的是最新的1.10 谢谢。听起来你在寻找dom突变。据我所知,dojo没有为此提供api,但它们的设置非常简单。问题是不同的浏览器有不同的方法来实现这一点 var observeNode = document.getElementById('observeMe'); // Check f

我有一堆节点,它们将包含不可预测结构中的标记。我希望能够观察这些节点,看看是否有任何子节点或其子节点的html发生了变化,不管变化有多小。如果他们这样做了,那么我想发起一场活动

我可以通过dojo来完成吗?我用的是最新的1.10


谢谢。

听起来你在寻找dom突变。据我所知,dojo没有为此提供api,但它们的设置非常简单。问题是不同的浏览器有不同的方法来实现这一点

var observeNode = document.getElementById('observeMe');

// Check for vendor-specific versions of MutationObserver.
MutationObserver = (function() {
  var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];
  for (var i=0, il=prefixes.length; i<il; i++) {
    if (prefixes[i] + 'MutationObserver' in window) {
      return window[prefixes[i] + 'MutationObserver'];
    }
  }
}());

// Sniff for MutationObserver support
if (MutationObserver) {
  var observer = new MutationObserver(function(mutations) {
    alert('Something changed!');
  });
  observer.observe(observeNode, {attributes: true, childList: true, characterData: true});
} else {
  // Fall back to mutation events
  if (observeNode.addEventListener) {
    observeNode.addEventListener('DOMSubtreeModified', function() {
      alert('Something changed!');
    });
  }
  // IE8 and below has its own little weird thing
  else {
    observeNode.onpropertychange = function() {
      alert('Something Changed!');
    }
  }
}
var observeNode=document.getElementById('observeMe');
//检查特定于供应商的MutationObserver版本。
MutationObserver=(函数(){
var前缀=['WebKit'、'Moz'、'O'、'Ms'、''];

对于(var i=0,il=prefixes.length;iyou可以使用dojox/mvc这将允许您将dom绑定到json。模型通常会在元素的焦点丢失时更改。这可能就足够了。我希望dojo这样做,这样我就可以在晚上睡个好觉,知道其他人正在担心它在每个浏览器上如何工作。但是,如果它最终失败的话不会是什么大问题