Mindtroveさんのブログのウィジェット例を追ってみました。デモ ページの例を次に示します。
このウィジェットにはいくつかの問題があります: 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();
}
私が見る限り、この関数イベントで咳をするすべてのキーが機能するはずです。一部が機能していない理由はわかりません。ところで、興味深いことが 1 つあります。Firefox のこれらのキー (左、右、ホーム、および終了) キーは、Shift キーを押したままにすると機能します。
問題がウィジェットのコードのバグなのか、Mac の場合は Dojo のバグなのか、よくわかりません。