키릴 레이아웃을 사용할 때 오페라에서 onkeyup가 발사되지 않습니다
-
20-09-2019 - |
문제
왜 다음과 같은 문제가 나타나는지 이해하기 위해 고군분투하고 있습니다.
입력 상자가 있고 자동 완성 상자를 첨부하고 싶습니다.
function input_set_autocomplete_to(obj)
{
if( obj.type != "text" ) { return; }
if( obj.getAttribute("rel") != "autocomplete" ) { return; }
obj.setAttribute("autocomplete", "off");
obj.setAttribute("uniqindex", Math.round(Math.random()*99999));
obj.onfocus = function() {
input_hide_autocompletes();
};
이것이 기능의 시작입니다. 여기서 문제가 없습니다. 그런 다음 OnkeyDown 및 OnKeyUp 이벤트를 연결하여 사용자가 입력하는 동안 상자를 표시 할 수 있습니다.
obj.onkeydown = function(e) {
console.log('x');
}
obj.onkeyup = function (e) {
console.log('z');
}
여태까지는 그런대로 잘됐다. Windows와 Linux의 모든 단일 브라우저 (예 : FF, Chrome, Safari)에서 모든 것이 작동합니다. 키 프레스에서 x, z를 얻습니다. 키 프레드에서 키 프레드의 오페라를 제외하고는 키 릴릭 입력을 사용하는 경우 (예 : сдф랍). onkeyup 이벤트는 화재조차 없습니다.
내가 사용하는 시스템은 Opera 10.10이있는 Ubuntu 9.04입니다.
추신이 질문을 입력하는 동안 나는 Archlinux를 사용하여 다른 컴퓨터에서 시도해 보았습니다. 다시 Opera 10.10으로 잘 작동합니다. 또한 동료가 사파리와 함께 Macos X 10.6에서도 그에게도 효과가 없다는 메모를 떨어 뜨 렸지만 버전을 식별하기 위해 연락 할 수는 없습니다.
해결책
에 따르면 퀴크 스 모드, 오페라 키업 처리가 깨졌습니다. 대신 오페라에서 Keypress를 사용해야합니다.
제휴하지 않습니다 StackOverflow