Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

213
Visualizações
e is undefined, correct syntax for a recursive handler function

How to make a correct recursive call? In this code the console says me "e is undefined". It's a event listener for a button ul in a unordered list.

This is my code:

$("button#ul").on("click", function(event){
    
     var button = $(this);
        $(button).toggleClass("active");
        
        if ($(button).hasClass('active')){


    //event listener
        $(document).on("keydown", **checkExit** = function(e) {
                                            
                            if (exit(e) == true){
                                $(button).removeClass('active');
                                $(this).off("keydown");
                            }
                            **checkExit();**
                       });
    
    
    
    
    
    function exit(event){
            
    //        alert("prevKeyCode: "+prevKeyCode);
            var code = event.keyCode || event.which;
            var doubleEnter = (code == 13 && prevKeyCode == code);
            
            if (event.type == "click"){
                return true;
            }
            else if (event.type == 'keydown'){
                
                
                if (code == 27 || doubleEnter) {
                    prevKeyCode = null;
                    return true;
                }
                else if (code == 13) {
                    prevKeyCode = 13;
                }
                else {
                    prevKeyCode = code;
                }
                return false;
            }
        }
        

I think I should define outside the function checkExit...

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

You need to pass the event as a parameter when calling checkExit again:

$(document).on("keydown", checkExit = function(e) {
  if (exit(e) == true) {
    $('button').removeClass('active');
    $(this).off("keydown"); //spegne il gestore corrente
  }
  checkExit(e);
});
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda