我很难理解为什么会出现以下问题。
我有一个输入框,我想在其上附加一个自动填充框。
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上的每一个浏览器(IE,FF,Chrome,Safari),如果我使用西里尔语输入(例如сдфг),我会在每个按键上获得x,z,除了Linux中的Opera。有onkeyup事件甚至没有开火。
我使用的系统是带有Opera 10.10的Ubuntu 9.04。
P.S。在输入这个问题时,我在另一台使用ArchLinux的机器上尝试了它,再次使用Opera 10.10并且它工作正常。 还有一位同事在MacOS X 10.6上使用Safari删除了一条说明它也不适用于他的说明,但我无法联系他以确定版本