Javascript #Dart:jquery向Dart回调方法触发事件时,将删除div

Javascript #Dart:jquery向Dart回调方法触发事件时,将删除div,javascript,jquery,dart,Javascript,Jquery,Dart,我想将带有dart的eventhandler添加到触发js事件的div中,因此我通过jquery执行此操作, 当从div触发事件时,将按预期调用callbackmethod,但作为触发事件的div的父级的div将被删除 它们将完全从dom中删除 js.scoped(() { js.context.$(new js.Callback.once(($) { $('#mySlider').on('change', new js.Callback.many(() {

我想将带有dart的eventhandler添加到触发js事件的div中,因此我通过jquery执行此操作,
当从div触发事件时,将按预期调用callbackmethod,但作为触发事件的div的父级的div将被删除

它们将完全从dom中删除

js.scoped(() {
   js.context.$(new js.Callback.once(($) {
      $('#mySlider').on('change', new js.Callback.many(() {
           print('Element changed');
      }));
    }));
});

有人知道为什么dart或jquery会这样做吗?或者这两者中的哪一个负责呢?

在dartium中,以下代码应该可以工作:

js.context.$('#mySlider').on('change',new js.Callback.many(#){
打印(“元素更改”);
}));
使用dart2js(也使用
$
),您有两个选项:

  • 使用
    --global js name
    选项编译,以将
    $
    更改为其他内容
  • 在加载dart脚本之前调用,以释放jQuery使用的
    $
    ,并在上面的代码段中将
    js.context.$
    更改为
    js.context.jQuery
对代码的一些评论:

  • 不再需要使用
    js.scoped
  • 回调是用一个参数调用的,因此即使不使用它,也必须定义它(这就是为什么我使用
    \uuu
    来处理这个我不关心的参数)

好的,你的评论真的很有帮助。js.scoped真的很不方便,而$5分钟前在firefox中测试应用程序时出现了问题。但遗憾的是,它并没有解决我丢失div块的问题。我已经测试了我的代码片段,它工作得很好。我不认为这段代码有任何理由删除div。这种行为应该来自其他地方。