2012-03-29 14 views
0

我正在做一些YUI菜单,基本上工作正常。当我通过按键上的按键提升菜单时,我会对某些DIV进行一些着色来创建特定的菜单效果。再次点击按钮关闭菜单并撤消着色,一切都很顺利。如何捕捉关闭YUI菜单的退出键?

我的问题是,点击转义键也会关闭菜单,但不会运行撤消着色代码,所以我最终会在屏幕上留下一些剩余的垃圾。我怎样才能捕获退出键的按下,以便我可以运行一些代码在现在移除的菜单后清理?谢谢!

回答

0

这里有一种方法,反正:

如果你这样做,你将有一些代码的地方,构建YAHOO.widget.Menu,使得它,并可能附加一些听众的小部件,当点击,呈现菜单。在与该代码,我增加了以下内容:

var escapeWatcher = function(e) { 
     var the_key = e.keyCode; 
     if (the_key == 27) { 
      $('#widgetholder').css({ 'backgroundColor' : 'transparent' });  } 
    }; 
    YAHOO.util.Event.addListener('widgetholder', 'keydown', escapeWatcher); 

换句话说:附上的keydown监听器插件,它运行escapeWatcher当按键被击中。该函数检查按下的按键是否为Escape,如果是,则调整窗口小部件的背景颜色。其他建议是受欢迎的,但这目前正在为我工​​作。