jQuery检测是否展开了下拉列表

时间:2014-04-26 07:22:28

标签: javascript jquery escaping keypress

我开发了jQuery模态窗口,我遇到了问题。当用户按下转义键时,我的系统找到最顶层的窗口并关闭它们。 但是有一个问题,例如,如果打开下拉列表,我想先关闭下拉菜单,如果用户再次按下转义然后关闭模态(我不想删除焦点)。 输入autocomplete是完全相同的问题。如果按下转义键有一些“浏览器”功能,是否可以找到某种方法?

感谢您的帮助,对不起我的英语不好, 彼得

1 个答案:

答案 0 :(得分:0)

您不能使用常规select元素执行此操作,因为没有可靠的方法来检测选择的下拉列表是否打开。但是,如果您构建自定义选择,例如使用divs等,则可以检测div是否可见,如果是,则可以阻止模式在beforeClose方法中关闭。

以下方法假设下拉列表包含在div#select_elems

beforeClose : function(e,u){
    if (e.which == 27 && $("#select_elems").is(':visible')) 
        return false;
}

<强> FIDDLE