我正在尝试构建自定义 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/