Вопрос

Когда мы используем окно запроса Javascript, что-то вроде этого

 var ur_name = prompt("Enter Name");

В этом случае у нас будет два типа значений:

  1. Значение, введенное пользователем.
  2. Второе ЗНАЧЕНИЕ может быть НУЛЕВЫМ, когда пользователь нажимает "ОТМЕНА" или когда он нажимает ПОБЕГ Клавиша.Правильно ...!

Теперь проблема, с которой я сталкиваюсь, заключается в следующем:КАК обработать escape-ключ в импровизированном плагине Jquery текст ссылки

Код работает идеально, Когда пользователь вводит какое-либо значение ИЛИ нажимает кнопку Отмены

<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>

Причина в этом сценарии я получаю события отмены или нажатия кнопки OK, но когда пользователь нажимает ПОБЕГ Клавиша форма обратной связи mycallbackform не будет вызван...

Это было полезно?

Решение

В прошлом я всегда использовал функцию jQueryUI .dialog для предоставления пользовательских диалогов, которые имеют closeOnEscape вариант.(http://jqueryui.com/demos/dialog/)

Если вы настроились на использование impromptu, реализовать некоторую обработку событий с помощью функции jQuery keyup должно быть довольно легко -

$(document).keyup(function(event){
    if (event.keyCode == 27) {
        $(".prompt").hide();
    }
});
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top