dart - 在 Polymer.dart 中处理跟踪事件

标签 dart dart-polymer

我正在尝试构建自定义 Polymer 元素。我已经成功构建聚合物元素有一段时间了。这是我第一次需要使用复杂的鼠标和手势事件。

经过与鼠标事件的斗争,我发现Polymer 为我们提供了touch & gesture events这在这类工作中非常有用。

但是我无法让它在 Dart 中工作。

fx_slider.html:

<div id="main-div">
  <div id="slider-track"></div>
  <div id="slider-thumb" on-trackstart="{{trackStartHandler}}"
    on-trackend="{{trackEndHandler}}" on-track="{{trackHandler}}">
  </div>
</div>

fx_slider.dart:

void trackStartHandler (Event e) {
  dragging = true;
}

void trackEndHandler (Event e) {
  dragging =  false;
}

void trackHandler (Event e, var detail, Node target) {
  /* How to retrieve the mouse position or the dx property from event ??? */
}

我的事件处理程序 (trackHandler) 收到一个 事件 而不是 跟踪事件 鼠标事件 ,所以我无法获得用户所做的移动或光标的位置。

你们有人能告诉我如何在 Dart 中使用跟踪事件吗?

提前致谢!

最佳答案

这是因为 Dart 尚不支持触摸手势。

有一个解决方法(另请参阅 http://dartbug.com/21138 - 在我自己弄明白后才找到的:-/)

void trackHandler (Event e, var detail, Node target) {
  var touchEvent = new js.JsObject.fromBrowserObject(e);
  print('x: ${touchEvent['dx']}, y: ${touchEvent['dy']}');
}

调试器在 [[JavaScript View]] 中显示更多属性节点。

关于dart - 在 Polymer.dart 中处理跟踪事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28524902/

相关文章:

oop - 带有工厂构造函数的抽象类的好处?

dart - 移动输入号码而无需触发数字键盘

flutter - 如何在 main.dart 之外的其他类中声明 multiprovider

dart - 为什么我的 Polymer 自定义元素中的样式无法识别?

dart - Dart-Polymer:创建每行中具有不同css的聚合物元素

dart - 如何将属性添加到动态创建的组件

dart - 如何在flutter中为PhysicalModel添加涟漪效果

dart - 如何在 Dart 中创建一个 BigInt

android - 使用Flutter/Dart构建的应用程序空间

flutter - gridview flutter 中的项目之间的空间