http://www.associationtsunami.org/サイトで、ドキュメント上でマウスダウンを行うと、ユーザーがマウスを動かす方向に応じて立方体が回転します。
コードは次のとおりです。
key code ...
).bind('mousedown touchstart', function (evt) {
delete mouse.last;
if ($(evt.target).is('a, iframe')) {
return true;
}
evt.originalEvent.touches ? evt = evt.originalEvent.touches[0] : null;
mouse.start.x = evt.pageX;
mouse.start.y = evt.pageY;
$(document).bind('mousemove touchmove', function (event) {
dragging = 1;
// Only perform rotation if one touch or mouse (e.g. still scale with pinch and zoom)
if (!touch || !(event.originalEvent && event.originalEvent.touches.length > 1)) {
event.preventDefault();
// Get touch co-ords
event.originalEvent.touches ? event = event.originalEvent.touches[0] : null;
$('.viewport').trigger('move-viewport', { x: event.pageX, y: event.pageY });
}
});
$(document).bind('mouseup touchend', function () {
dragging = 0;
$(document).unbind('mousemove touchmove');
});
});
フルコードhttps://github.com/AssociationTsunami/tsunami/blob/gh-pages/js/cube.js#L72
ユーザーがスクロールバーをマウスダウンした場合、このイベントを無効にします。たとえば、[ONSONPARLA]ページには、アコーディオンのあるタブがあります。アコーディオンコンテンツのいずれかを開くと、端または内にスクロールバーが表示されます。アコーディオンとスクロールバーを動かそうとすると、これも立方体を動かします。
イベントがスクロールバー要素上にある場合にキューブが回転しないように、cube.jsでこれを上書きする正しい方法は何ですか?