代码之家  ›  专栏  ›  技术社区  ›  bisko

当使用西里尔文布局时,Onkeyup在歌剧中不开火

  •  1
  • bisko  · 技术社区  · 16 年前

    我有一个输入框,我想附加一个自动完成框到它。

    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,除了Linux中的Opera,如果我使用西里尔字母输入(例如)。onkeyup事件甚至没有触发。

    我使用的系统是带有Opera10.10的Ubuntu9.04。

    另外,在输入这个问题时,我在另一台使用ArchLinux的机器上尝试了这个问题,同样是在Opera 10.10上,它工作得很好。 还有一位同事写了一封信,说在MacOSX10.6和Safari上它对他不起作用,但我无法联系他确定版本

    1 回复  |  直到 16 年前
        1
  •  1
  •   Sedat Kapanoglu johnnywhoop    16 年前

    根据 quirksmode ,Opera键控处理已损坏。你需要在Opera上使用按键。

    推荐文章