Pergunta

Quando usamos Javascript prompt de Box algo como isto

 var ur_name = prompt("Enter Name");

Vamos ter dois tipos de valores neste caso:

  1. Valor introduzido pelo usuário.
  2. Em segundo lugar valor pode ser nulo, quando o usuário pressionar CANCELAR ou quando ele pressiona ESCAPE Key. Certo ...!

Agora o problema que estou enfrentando é: como lidar com chave de escape no Impromptu plug-in de Jquery texto do link

Código funcionando perfeitamente Quando o usuário vai entrar algum valor ou pressione Cancelar botão

<script type='text/javascript'>
function test()
 {
var txt = 'Please enter your name:<br /> <input type="text" id="alertName" name="alertName" value="name here" />';

 $.prompt(txt,{
callback: mycallbackform,
buttons: { OK: 'Hello', Cancel: 'Good Bye' }
  });
}

 function mycallbackform(v,m,f){
  if(v=="Hello")     
   $.prompt("Stack Over flow User:"+' ' + f.alertName);
  }
 </script>

Porque neste cenário que estou recebendo cancelar ou OK chave do botão pressionado eventos, mas quando o usuário pressionar ESCAPE tecla mycallbackform não será chamado ...

Foi útil?

Solução

No passado, eu sempre usei a função jQueryUI .dialog para fornecer diálogos usuário que tem a opção closeOnEscape. ( http://jqueryui.com/demos/dialog/ )

Se você tem o seu conjunto de coração sobre o uso de improviso que deve ser bastante fácil de implementar alguma manipulação de eventos usando a função keyup jQuery -

$(document).keyup(function(event){
    if (event.keyCode == 27) {
        $(".prompt").hide();
    }
});
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top