【问题标题】:Any way to detected change made in the DOM by Angularjs?有什么方法可以检测到 Angularjs 在 DOM 中所做的更改?
【发布时间】:2014-07-18 15:35:35
【问题描述】:

在 jQuery 中,我试图检测 AngularJS 在 DOM 中所做的更改,这可能吗?我已经有了一个 AJAX 和历史变化监听器,但是这些似乎没有检测到变化。

【问题讨论】:

  • 更糟糕的情况是在页面加载时对 dom 进行字符串化,然后在您想要检查更改时再次对其进行字符串化,然后比较字符串。
  • 你想完成什么?你能提供一个plnkr吗?
  • 这个问题需要更多的上下文。您要解决哪个问题以及您对哪种 DOM 更改感兴趣?使用 JQuery 很少是正确的解决方案,因此很有可能您拥有的任何用例都可以通过不同的方式解决。
  • 也许你应该放弃在 Angular 中使用 jQuery 的想法,而只使用 Angular 的方式,如果你提供一些代码,我很乐意提供帮助
  • 我需要检测 DOM 树的变化,以便注入一些代码。我从事件冒泡切换到事件捕获,并且能够将事件附加到后来由 Angular 添加的 DOM 元素。

标签: jquery ajax angularjs dom html5-history


【解决方案1】:

在大多数情况下,指令是处理这个问题的方法:

<input type="text" detectchange>

app.directive('detectchange',function() {
    return {
        restrict:'A',
        link:function(scope,element,attr) {
            element.on('change',function() {
                console.log('change made');
            });
        }
    }
});

【讨论】:

    【解决方案2】:

    我需要检测到 DOM 树的变化,以便可以在新添加的 DOM 元素上注入一些代码。我从事件冒泡切换到事件捕获,并且能够将事件附加到后来由 Angular 添加的 DOM 元素。

    【讨论】:

      猜你喜欢
      • 2014-05-25
      • 1970-01-01
      • 2022-08-02
      • 1970-01-01
      • 2014-11-25
      • 2020-04-19
      • 1970-01-01
      • 2012-03-19
      • 1970-01-01
      相关资源
      最近更新 更多