Xcode의 iOS 용 PhoneGap에 압축 된 HTML5/Javascript (Sencha) 앱이 있습니다. 한 가지 방법 또는 다른 방법으로 키보드 열기/닫기 이벤트를 수신하고 이에 따라 작업을 수행 할 수 있기를 원합니다. 이 일을 할 수있는 방법이 있습니까?Javascript/Sencha에서 키보드 열림/닫음을 듣는 방법?
답변
textfield, textareafield ...에 집중하는 동안 키보드가 자동으로 호출됩니다. 그래서 포커스 이벤트에 청취자를 생성 할 수 있습니다.이 이벤트는 자바 스크립트에서 키보드 열기 이벤트를 수신하는 것과 비슷합니다. 또한 흐림 청취자를 사용하여 키보드 닫기를 처리 할 수 있습니다.
감사합니다.
나는 setfocus에 이것을 사용하고있다. inpMessage.fieldEl.dom.focus(); 장치에없는 크롬에서 잘 작동합니다. –
키보드가 활성화되기 전에 실행되므로 위치/레이아웃 조정이 필요한 경우 너무 일찍 시작될 수 있습니다. –
답변을 게시하기 전에 더 많은 테스트를 수행해야합니다. Android 기기의 뒤로 버튼을 탭하면 키보드가 숨겨 지지만 흐림 이벤트는 발생하지 않습니다. – filipvkovic
내 생각에 PhoneGap의 Android 빌드에서만 가능하다는 것을 알 수 있습니다. 당겨 받기 요청 (https://github.com/phonegap/phonegap-android/issues/94)을 참조하십시오.
이벤트는 hidekeyboard
및 showkeyboard
입니다. 그들이 iOS에서도 실행되는지 확인할 수 있습니다.
나는 동일한 문제가 발생했습니다, 나는 귀하의 경우 최선의 해결책이 하나 같이 기본 이벤트를 결합하는 폰갭 플러그인을 사용하는 것입니다 생각 :
https://github.com/driftyco/ionic-plugins-keyboard/tree/60b803617af49a10aff831099db90340e5bb654c
그것은 작동 Android 및 iOS 같은 방식에 큰 단지 해당 이벤트를 바인딩 : (커서가 입력/텍스트 영역에 남아 있기 때문에) 개방 상태를 트리거
window.addEventListener('native.showkeyboard', keyboardShowHandler);
window.addEventListener('native.hidekeyboard', keyboardHideHandler);
이것이 유일한 방법입니다. 감사. –
는 온 클릭 또는 onfocus 및 이벤트 사용 쉽지만, 이벤트 및 onblur 키보드를 닫을에서 해고되지 . 그래서 키보드 열기/닫기에서 크게 변경되는 창 높이를 감지하여 해결책을 찾았습니다.
Android 및 iOS의 최신 브라우저에서도 작동합니다. 데모 : http://jsfiddle.net/qu1ssabq/3/
addEventListener 또는 innerHeight를 지원하지 않는 장치에 대한 코드를 향상시킬 수 있습니다. 인터넷에서 사용할 수있는 대안이 있습니다.
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0, minimal-ui">
<title>Detect keyboard opened/closed event</title>
</head>
<body>
<textarea id="txta" onclick="xfocus()" onblur="xblur()"></textarea><br>
<span id="status" style="background: yellow; width: auto;">closed</span>
<script type="text/javascript">
function xfocus() {
setTimeout(function() {
height_old = window.innerHeight;
window.addEventListener('resize', xresize);
document.getElementById('status').innerHTML = 'opened'; // do something instead this
}, 500);
}
function xresize() {
height_new = window.innerHeight;
var diff = Math.abs(height_old - height_new);
var perc = Math.round((diff/height_old) * 100);
if (perc > 50)
xblur();
}
function xblur() {
window.removeEventListener('resize', xresize);
document.getElementById('status').innerHTML = 'closed'; // do something instead this
}
</script>
</body>
</html>
- 1. 그 속성을 듣는 방법?
- 2. CKEditor에서 기본 이벤트를 듣는 방법?
- 3. 썬더 버드에서 'SendMail'이벤트를 듣는 방법?
- 4. Tkinter에서 버튼 누르기를 듣는 방법
- 5. 전자 메일 메시지를 듣는 방법
- 6. JComboBox의 너비 변경을 듣는 방법?
- 7. 터미널에서 esc 키를 듣는 방법?
- 8. 두 개의 JPanels가 동일한 이벤트를 듣는 방법?
- 9. 알아 듣는 사람의 방법이
- 10. SWT 목록의 내용 수정을 듣는 방법?
- 11. listView가 아래에서 위로 스크롤하는 것을 듣는 방법?
- 12. 자바 : JFrame의 움직임을 듣는 리스너를 등록하는 방법
- 13. 정 2에서 정점 선택 변경을 듣는 방법?
- 14. 로컬 메이븐 레포의 변경 내용을 듣는 방법?
- 15. 어레이 어댑터의 버튼 클릭을 듣는 방법
- 16. 안드로이드 뷰에서 더블 탭을 듣는 방법?
- 17. 다트 게임에서 키 누르기를 반복적으로 듣는 방법?
- 18. 트위터에서 동적으로로드 된 트윗을 듣는 방법?
- 19. 사용자 정의 이벤트를 선언하고 듣는 방법?
- 20. 키보드의 다른 버튼을 눌러 듣는 방법?
- 21. Windows 계정 변경 암호 이벤트를 듣는 방법
- 22. 지속적으로 듣는 서버를 서비스로 작성하는 방법
- 23. 모든 앱에서 키 누르기를 듣는 방법?
- 24. JTextArea를 듣는 법
- 25. 알림을 듣는 Android 기기
- 26. iPhone에서 듣는 오디오
- 27. stdin을 듣는 java의 백그라운드 프로세스
- 28. 특수 키만 듣는 키 수신기?
- 29. MySQL 글쓰기를 듣는 방법이 있습니까?
- 30. JavaScript에서 키보드 입력을받는 방법?
textfield, textareafield ...에 집중하는 동안 키보드가 자동으로 호출됩니다. 그래서 자바 스크립트에서 포커스 이벤트에 리스너를 생성 할 수 있습니다. – heyjii
그런 다음 텍스트 필드 등이 포커스를 잃을 때도 듣고 싶습니다. 이벤트가 있습니까? – Groppe
흐림 이벤트를 사용할 수 있다고 생각합니다 – heyjii