Keyboard 我订阅YUI菜单事件是否不正确?

Keyboard 我订阅YUI菜单事件是否不正确?,keyboard,yui,shortcut,menu,Keyboard,Yui,Shortcut,Menu,我已经阅读并跟踪订阅菜单事件。我还查看了菜单、菜单栏和自定义事件的API和代码片段,但以下内容不起作用 在功能上,我试图为菜单栏的每个子菜单附加一个按键侦听器。我不想将冒泡库添加为依赖项。根据我的测试,以下操作将起作用: oMenu.subscribe('keypress', function () { alert("I'm your friendly neighborhood keypress listener.")}); 但是只有当菜单接收到按键事件时才会触发,因此它需要已经有焦点。onS

我已经阅读并跟踪订阅菜单事件。我还查看了菜单、菜单栏和自定义事件的API和代码片段,但以下内容不起作用


在功能上,我试图为菜单栏的每个子菜单附加一个按键侦听器。我不想将冒泡库添加为依赖项。

根据我的测试,以下操作将起作用:

oMenu.subscribe('keypress', function () { alert("I'm your friendly neighborhood keypress listener.")});

但是只有当
菜单
接收到
按键
事件时才会触发,因此它需要已经有焦点。

onShow是否指向一个函数

例如


Todd Kloots,YUI菜单小部件的作者。订阅基于DOM的事件时,事件名称都是小写的。因此,对于“鼠标悬停”事件,请按如下方式订阅:

subscribe('mouseover',onMouseOver,{foo:'bar'},false)

关于您的按键事件处理程序:您的订阅是正确的。但是,请记住,任何与键相关的事件处理程序只有在菜单具有焦点时才会触发。因此,在测试与键相关的事件处理程序之前,请确保菜单具有焦点。另外,我建议听“keydown”事件而不是“keypress”,因为并不是所有的键都会导致IE中“keypress”事件的触发

如果您有任何其他问题,请直接联系ydn javascript Y!组,因为我经常监视该组上的消息

我希望这有帮助

  • 托德
oMenu.subscribe('keypress', function () { alert("I'm your friendly neighborhood keypress listener.")});
var onShow = function()
{
    alert("Click!");
}