문제

왜 다음과 같은 문제가 나타나는지 이해하기 위해 고군분투하고 있습니다.

입력 상자가 있고 자동 완성 상자를 첨부하고 싶습니다.

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를 사용해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top