按下键,恢复到未发现的css

时间:2014-08-22 10:25:37

标签: javascript jquery css onkeydown

当你将鼠标悬停在它上面时,我有一个元素更改了css我添加了一个onkeydown函数,该函数将恢复为原始css。我只是想知道是否有没有找到未被发现的CSS而不再写出来了?

这是我的代码

            $(document).keydown(function(e) {

            if (e.keyCode == 27) {
                $(NBSmegamenu).css('display', 'none');}   // esc
                $(".dynamic-children").css('border-bottom-width','none');
                $(".dynamic-children").css('border-bottom-style','none');
                $(".dynamic-children").css('border-bottom-color','none');

                $(".HoverImg").remove();
                $("span.dynamic-children").css('background-position', 'right'); 
                $("span.dynamic-children").css('background-image', 'url("/Style%20Library/NBSImages/NBS_MegaMenuDownArrowRed.png")');
                $("span.dynamic-children").css('background-repeat', 'no-repeat');
                $(".NBSDirectoryDivLine").css('border','none');

}); 

2 个答案:

答案 0 :(得分:0)

你最好使用课程:

$(document).keydown(function(e) {
     if (e.keyCode == 27) 
       $(element).addClass(keyDownCssClass);
});

你只需要在按键上删除它:

$(document).keyup(function(e) {
     if (e.keyCode == 27) 
       $(element).removeClass(keyDownCssClass);
});

答案 1 :(得分:0)

您可以尝试将css添加为两个类。覆盖悬停类中所需的任何属性。确保在unhovered类之后定义悬停类,以便它优先。

在您的javascript中只需打开/关闭课程。

$(document).keydown(function(e){

        if (e.keyCode == 32) { // Space to hover
           $(NBSmegamenu).addClass('hover');
        }
        if (e.keyCode == 27) // Unhover
           $(NBSmegamenu).removeClass('hover');
        }