【问题标题】:DOM change listener in Dart langDart 语言中的 DOM 更改侦听器
【发布时间】:2014-08-29 20:08:38
【问题描述】:

我希望在 DIV 的内容更改时执行脚本,以不同的方式,我想监听特定节点/子更改,我在 this fiddle 的 JavaScript 中找到了名为“DOMSubtreeModified”的东西,

$("#someDiv").bind("DOMSubtreeModified", function() {
    alert("tree changed");
});

DART 中有类似的东西吗?

【问题讨论】:

  • 由于 Dart 编译为 Javascript,而且大多数浏览器不提供修改子树的事件,所以在 Dart 中是做不到的。
  • @Barmar Dart 编译为适用于现代浏览器的 JavaScript。如果现代浏览器可以做到,Dart 也可以(可能)做到。
  • @SethLadd 问题是现代浏览器是否可以做到这一点。我相信,DOMSubstreeModified 事件是被提议的,但从未被广泛实施。
  • @Barmar,实际上我的问题是关于在 DART 中执行此操作的方式,因为在现代浏览器中的 JS 中是可能的,抱歉,如果我的问题看起来很笼统,或者不够清楚。感谢您的 cmets :)

标签: dart


【解决方案1】:

感谢@Gunter Zochbauer, 除了您提供的推荐网站外,我还发现 this 关于 DART 中的 MountainObserver,下面的代码非常适合我 :)

main(){
     ...
     Element myDiv = querySelector('#my-element');
     var observer = new MutationObserver((mutations, _) {
          mutations.forEach((mutation) {
               print('number of direct nodes here are: ${myDiv.nodes.length}');;
         });
     });
     observer.observe(myDiv, childList: true); 
     ....
  }

在 index.html 中,我有:

<div id='my-element'></div>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-14
    • 2013-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多