我尝试按照mindtrove 博客的小部件示例。这是示例演示页面。
这个小部件有一些问题:左右箭头键,以及 home 和 end 键在 Firefox 中不起作用(我使用的是 Mac),如果我在 Safari 中加载示例页面,任何键都不起作用。我不确定这只是我的 Mac 的问题还是根本无法在 Mac 上运行。
以下是小部件 Rating.js 中的一些代码:
_onKeyDown: function(event) {
switch(event.keyCode) {
case dojo.keys.UP_ARROW:
case dojo.keys.RIGHT_ARROW:
this.currentValue += 1
this.currentValue = Math.min(this.currentValue, this.maximumValue);
dojo.stopEvent(event);
break;
case dojo.keys.DOWN_ARROW:
case dojo.keys.LEFT_ARROW:
this.currentValue -= 1
this.currentValue = Math.max(this.currentValue, this.minimumValue);
dojo.stopEvent(event);
break;
case dojo.keys.HOME:
this.currentValue = this.minimumValue;
dojo.stopEvent(event);
break;
case dojo.keys.END:
this.currentValue = this.maximumValue;
dojo.stopEvent(event);
break;
}
// refresh the display
this._update();
}
据我所知,这个函数事件中的所有键都应该起作用。我不确定为什么有些不起作用。顺便说一句,我发现一件有趣的事情:对于 Firefox 中的那些键(左、右、home 和 end)键,如果我按住 shift 键,它们就会起作用。
我不确定问题是小部件代码中的错误还是 Mac 的 Dojo 错误?