wheelnav.js方向键控制

Arrow key control of wheelnav.js

我正在使用非常好的 wheelnav.js 库来直观地 select 大量项目中的一些项目。我在转盘中有大约 50 个项目,这就是为什么我只显示 selected 项目当前所在的转盘部分。我希望能够使用左右箭头键滚动滚轮。我做了一个 fiddle 来稍微展示一下我想做什么:

Fiddle

我正在检测这样的按键事件:

window.addEventListener("keydown", function(e) {
e = e || window.e;
var keyCodeEvent = e.which || e.keyCode; 

if([37, 38, 39, 40].indexOf(e.keyCode) > -1) {
    e.preventDefault();
    }
if (keyCodeEvent === 37 || keyCodeEvent === 40) {
    forward(1, "forward");
    }
if (keyCodeEvent === 38 || keyCodeEvent === 39) {
    backward(-1, "backward");
    }
}, false);

我将向前和向后函数放在 wheelnav.js 库中,我正在尝试这样旋转轮子

this.forward = function (a,b) {    
   wheelnav.prototype.navigateWheel(a);
}

鼠标点击旋转效果很好,但是当我使用箭头时出现错误: 类型错误:无法读取未定义的 属性 'setCurrentTransform'。

有人在用这个库吗?你有什么建议吗?

您可以通过 keynavigateEnabled 属性 启用键盘(默认为左右方向键)。

wheel.keynavigateEnabled = true;

PS:从v1.7.0开始可用,这里是你修改的Fiddle