我正在尝试构建一个自定义的Polymer元素.我已经成功地构建了一段时间的Polymer元素.这是我第一次需要使用复杂的鼠标和手势事件.
在与鼠标事件挣扎之后,我发现Polymer为我们提供了触摸和手势事件,这些事件在这类工作中非常方便.
但是我不能让它在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>
Run Code Online (Sandbox Code Playgroud)
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 ??? */
}
Run Code Online (Sandbox Code Playgroud)
我的事件处理程序(trackHandler)接收一个Event而不是TrackEvent或MouseEvent,因此我无法获得用户所做的移动或光标的位置.
您能否告诉我如何在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']}');
}
Run Code Online (Sandbox Code Playgroud)
调试器在[[JavaScript View]]节点中显示更多属性.
| 归档时间: |
|
| 查看次数: |
355 次 |
| 最近记录: |