如何捕获IronSwipeableContainer中滑动事件的方向?
@UiField IronSwipeableContainer swipeable;
...
swipeable.addIronSwipeHandler(new IronSwipeEventHandler() {
@Override
public void onIronSwipe(IronSwipeEvent event) {
log.info("onIronSwiped! ");
}
});
它在js对象中。我只是无法弄清楚如何从java访问它。
event_0_g$.nativeEvent_1_g$.detail.direction = "left"
额外信用 - 如何防止滑动解除(轻扫)容器?
答案 0 :(得分:0)
我认为处理这个问题的唯一方法(使用当前从Vaadin的聚合物元素生成的Java代码)将编写一个JSNI函数并将其传递给event.getNativeElement()
http://www.gwtproject.org/doc/latest/DevGuideCodingBasicsJSNI.html
E.g:
public void onIronSwipe(IronSwipeEvent event) {
String direction = determineDirection(event.getNativeEvent());
}
...
public static native String determineDirection(JavaScriptObject event) /*-{
return event.detail.direction;
}-*/;
关于防止解雇,或许更好的工作流程是预先确定哪些容器不应被禁止,并通过设置元素class="disable-swipe"