在移动设备

时间:2015-07-24 23:07:22

标签: javascript famo.us famous-engine

Famo.us'GestureHandler似乎没有抓住移动设备。即使是非常简单的测试:

var FamousEngine = require('famous/core/FamousEngine');
var DOMElement = require('famous/dom-renderables/DOMElement');
var GestureHandler = require('famous/components/GestureHandler');

FamousEngine.init();

var scene = FamousEngine.createScene();
var rootNode = scene.addChild();

var backgroundNode = rootNode.addChild();
var backgroundElement = new DOMElement(rootNode, {
    classes: ['background'],
});

var gestures = new GestureHandler(rootNode);

gestures.on('drag', function(e) {

    console.log(e);

    .
    .
    .

});

当您使用鼠标拖动时,拖动手势回调会在桌面上触发,但在移动浏览器中,拖动只会滚动文档。

在我的示例中,传递给回调的事件e是一个自定义的名称,并且没有通常的.stopPropagation方法。

是什么给出了?

1 个答案:

答案 0 :(得分:1)

原来答案与事件处理无关。在我的事件处理程序中,我使用ES6的新解构语法创建了一些变量:

var [x, y] = node.getPosition();

虽然我的代码是“babelified”,而且这在桌面浏览器上完美运行,但在iOS上失败了。

这个问题也在这里描述:

https://github.com/babel/babelify/issues/22

解决方案就是用老式的方式来做...

:(

相关问题