【发布时间】:2015-01-04 02:06:06
【问题描述】:
我多次查看代码,但找不到在基于触摸的设备上失败的原因:
/**
* Initialize touch event listener.
*
* @returns {Plugin}
*/
touch: function () {
var self = this;
this._$body.bind('touchstart', function (event) {
var startEvent = event.originalEvent.touches[0];
event.preventDefault();
self._$body.bind('touchmove', function (event) {
var moveEvent = event.originalEvent.touches[0];
var diff = { x: startEvent.clientX - moveEvent.clientX, y: startEvent.clientY - moveEvent.clientY };
var nextStep;
event.preventDefault();
if ((diff.y <= -100 || diff.y >= 100) && Math.abs(diff.y) > Math.abs(diff.x)) {
nextStep = diff.y < 0 ? self._currentStep - 1 : self._currentStep + 1;
self.customScrollTo(nextStep);
}
return false;
});
return false;
});
return this;
},
demo(自签名 ssl,别担心!):https://sandbox.idev.ge/roomshotel/html5_v3/
问题:激活触摸时滚动直接跳到底部。
预期结果:一键交互等于滚动了 1 个部分。
有什么想法吗?
【问题讨论】:
-
滚动对我来说根本不起作用
-
普通滚动在 Chrome 中不起作用,触摸在移动 safari 中不起作用
-
@salivan 给我一些时间,我会试着弄清楚。顺便说一句,如果你继续设置这么多的赏金,你很快就会用完你的回购))
-
@SamBraslavskiy 好吧,这些都是棘手的问题,所以我认为让他们成为正常点问题对你们来说不合适......我正在为这些情况积累 REP :)
-
不知何故,其中很多 .jpg 和 .svg 不适合我。不过不知道是不是我一个人。
标签: javascript mobile scroll touch touch-event