Javascript Android拖动事件不适用于4.4.2和ionic
我一直在AngularJS中实现一个Ionic应用程序 我有一张垂直排列的“卡片”列表。用户可以滚动查看更多卡片,或将其从屏幕上滑出。这在IOS(在5c和4上测试)上没有问题,但在HTC One M8(Android)上有一个bug,它不允许用户滑动/拖动元素 我在这里看到了这个bug: 及 然而,当我尝试实现后一个链接中提供的解决方案时,我的应用程序崩溃 我的手势处理事件:Javascript Android拖动事件不适用于4.4.2和ionic,javascript,android,angularjs,ionic-framework,Javascript,Android,Angularjs,Ionic Framework,我一直在AngularJS中实现一个Ionic应用程序 我有一张垂直排列的“卡片”列表。用户可以滚动查看更多卡片,或将其从屏幕上滑出。这在IOS(在5c和4上测试)上没有问题,但在HTC One M8(Android)上有一个bug,它不允许用户滑动/拖动元素 我在这里看到了这个bug: 及 然而,当我尝试实现后一个链接中提供的解决方案时,我的应用程序崩溃 我的手势处理事件: var self = this; ionic.onGesture('dragstart', function(
var self = this;
ionic.onGesture('dragstart', function(e) {
window.requestAnimationFrame(function() {
self._doDragStart(e)
});
}, this.elemToDrag);
ionic.onGesture('drag', function(e) {
window.requestAnimationFrame(function() {
self._doDrag(e)
});
}, this.elemToDrag);
ionic.onGesture('dragend', function(e) {
window.requestAnimationFrame(function() {
self._doDragEnd(e);
});
}, this.elemToDrag);
},
_doDragStart: function(e) {
},
_doDrag: function(e) {
//handle dragging
},
_doDragEnd: function(e) {
this.transitionOut(e);
}
我曾尝试将e.preventDefault()添加到事件中,但它似乎没有任何作用。任何帮助都将不胜感激,谢谢您可以尝试复制相同的代码,但使用
touchstart
、touchmove
和touchend
作为您的事件,并如您在错误链接中所述,使用preventDefault()
阻止touchstart
另一种方法是使用mousedown
、mousemove
、mouseup
复制它,但在IOS中检测设备会带来不希望的副作用
我的意思是,你在设备中使用离子方式,并为那些不使用离子的人手动复制离子之外的行为。我一直在检查,似乎还没有解决办法。当我开始使用iScroll probe来控制滚动时,这就开始在Android上工作了。我还使用了用于滚动的转换,而不是本机滚动
希望这有帮助你能为此发布相应的dom吗?感谢你的努力,我会尝试一下,如果有任何工作,必须做其他事情,并且有十分钟的时间给予奖励,我会将此标记为正确的!不要一下子花光所有的钱