I've implemented some masking text fields which rely on the fact that keydown is fired if someone presses a key. I don't need the correct key code but I need to know if someone has typed a key and has released the key ("keyup").

After this I'm looking into the current value of the text field by calling getComputedValue() so I can see if the value matches the mask.

The problem of "keypress" is that the event is fired BEFORE the value gets updated so getComputedValue() retreives the value without the last typed character.

So one solution would be to have "keyup" event fired even if the keycode is not reliable.


Fabian Jakobs schrieb:
Dietrich Streifert schrieb:
Hello list, hi Fabian,

after the changes to the key event handling I run into trouble catching keyup and keydown events of accented characters keys like german umlauts and keys like the plus and minus sign and the sharp sign.

I've attached a testcase which should be run from the frontend/application/sample/source/html/test directory.

The testcase creates a simple text field which has three eventlisteners attached: "keyup", "keydown" and "keypress".

If e.g. the "a" key is pressed all three events are fired (as expected).

If (on a german keyboard) th "a umlaut" key is pressed just the "keypress" event is fired. This is also true for other characters like plus, minus and sharp sign.

Shouldn't keyup and keydown be fired for every key which is pressed?

This is true for FireFox 2.0 under WinXPSP2.

It works as expexted in IE 7
The Problem is that composed characters like ä,ü, ... cannot be detected reliably in keydown and keyup events. In general any character that needs a compose key in any keyboard layout cannot be detected reliably. The keycodes generated for such characters depends on the keyboard layout. Therefore we decided to have consistent support for those keys that are reliable.

Do you realy depend on detecting those keys in keyup/keydown events or can you convert it to use keypress instead?

Best Fabian

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

--
Mit freundlichen Grüßen
Dietrich Streifert
Visionet GmbH

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

Reply via email to