2014-12-03 6 views
3

Я пытаюсь перехватить "Скрыть клавиатуру" для Ipad в Javascript. Я искал везде, но не мог найти правильный код для этого. Я нажал любые клавиши, и я получаю карту кода ключа (для символов, но также для ввода, пробела и удаления ..).Detect Hide Keyboard Button на Ipad Iphone в Javascript

Это пример того, что я хочу сделать

$("#mydiv").on("keydown", function(event) { 
    if (event.which == xx){ 
     //do something 
    } 
} 

где хх мой скан на «кнопку скрытия клавиатуры». При нажатии кнопки ни один из методов не вызывается делегату, кроме KeyCode.

Я взглянул на detect iPad keyboard Hiding button, но я получаю решение на другом уровне (с Xcode), но мне нужно решение с Javascript.

Надеюсь, кто-то может помочь.

enter image description here

ответ

3

Я нашел workaroud для IPad IOS7. Я буду тестировать на IOS8, чтобы убедиться, что он работает. Поэтому в основном я создаю слушателя в каждом событии FOCUSOUT (для всех моих текстов), и я вызываю свою функцию.

Он срабатывает, когда вы открываете клавиатуру и закрываете «клавиатуру». Он не срабатывает, когда вы выбираете другое текстовое поле или кнопку, потому что оно нацелено на нуль. Если вы используете в сочетании с keydown, вы можете сохранить несколько значений и вызвать функцию отправки, только когда вы отпустите клавиатуру. Он работает для моего конкретного проекта.

document.addEventListener('focusout', function(e) { 
     if (e.relatedTarget == null){ 
      alert("close keyboard without click on something else"); 
      callYourFunction(); 
      } 
    }); 

p.s Я довольно новый здесь в SO, так что я не знаю, если я могу ответить себе, или я должен изменить свой вопрос или комментарий.