正在移动设备上停止Famo.us手势处理程序事件传播
Stopping Famo.us GestureHandler event propagation on mobile
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
方法。
什么东西?
发现答案与事件处理无关。在我的事件处理程序中,我使用ES6的新析构函数语法创建了几个变量:
var [x, y] = node.getPosition();
虽然我的代码被"babelified"了,这在桌面浏览器上非常有效,但在iOS上却失败了。
这里也描述了这个问题:
https://github.com/babel/babelify/issues/22
解决办法就是用老式的方法。。。
:(
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- keyup事件处理程序更改焦点不适用于快速键入
- 如何使用jquery处理php循环通过元素
- angular.js没有'无法在PhoneGap中处理视图标记
- Webpack/Rect:遵循egghead.io教程,但出现错误:您可能需要一个合适的加载程序来处理此文件类型
- 提示使用服务器端事件处理程序激活JavaScript
- javascript:如何在antlr生成的Lexer中进行错误处理
- 如何编写一个具有公共标头的批处理
- 在同一个服务工作者中处理service-worker.js有任何影响吗
- 如何处理node.js节点mongodb中的连接和查询队列
- 通过命令行/批处理文件打开页面时,将javascript代码注入Google Chrome
- 如何处理10页以上的静态页眉/页脚
- 将事件处理程序绑定到任何可能的事件
- 通过ajax将坐标传递到php服务器端,并在处理后检索到javascript
- python到“;流“;字典处理
- 使用javascript进行实时图像处理
- 导入jQuery脚本获胜'我不处理html文件
- Famo.us:如何以编程方式对滚动视图的位置进行动画处理
- iDangero.us Swiper-处理大型图像集
- 正在移动设备上停止Famo.us手势处理程序事件传播