有些键无法使用Dojo Widget

时间:2008-11-22 07:20:04

标签: dojo

我试图关注the widget example by mindtrove's blog。这是the example demo page

此小部件存在一些问题:左侧和右侧右箭头键,家庭&结束键在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中的那些键(左,右,家和终)键,如果我按住shift键,它们就可以工作。

我不确定问题是否是小部件代码中的错误或者Mac的Dojo错误?

1 个答案:

答案 0 :(得分:0)

实际上,我发现所有的密钥都在Firefox(Mac)中运行。我正在使用Vimperator标记一些键。当我在“直通”模式下获得它时,这意味着Vimerator插件没有任何键被捕获,聚焦的评级控制小部件将获得左,右,上,下,家庭和娱乐的关键事件。端。

至少在Firefox的情况下,小部件正在运行。根据我的经验,小部件在聚焦时为控件提供了一些事件功能。但是,如果有任何附加组件或浏览器配置导致事件无法通过或者它们响应事件,那么您将遇到“问题”。换句话说,如果它在浏览器的情况下真的很复杂。我可以想象一下,如果某些附加组件可能会禁用鼠标点击事件,那么该小部件将不再起作用。

我仍然无法弄清楚我的Safari中的小部件是否正常工作。从我所看到的,widget控件根本没有任何焦点。该小组件被分配给测试页面中的span标签。我不确定span标签是否可以在Safari中获得焦点。我会看看我是否可以将小部件放到另一个可聚焦的标签上并尝试一下。

获得一些工作和探索是非常有益的。