开发者

Capturing Keyboard Events in Dojox GFX

Is it possible to capture keyboard events within a diagram produced using Dojox.GFX?

We have a simple graphical application which involves some shapes drawn on a surface. We would like to add some simple keyboard interaction, e.g. using the Delete key to delete a shape, and using "Ctrl+A" to select all shapes.

I have tried adding dojo.connect and shape.connect statements for "onkeypress" and "onkeyup", but they never seem to get triggered. We are already capturing mouse events and these are 开发者_如何学Cworking fine.

Thanks

David


Keyboard events are not pointed, they are essentially global. You should catch them globally attaching a handler to document or body.


Thanks, now working!

In my case this was a portlet so the <body> tag was not available, but I used a <div> tag instead:

<div id="queryPortlet" onkeydown="handleKeydown(event.keyCode);" onkeyup="handleKeyup(event.keyCode);">

The other thing I had to watch for was not intercepting keystrokes if the focus was in a text input field. I had to write some code to keep track of when the focus was in a text field, by adding onfocus() and onblur() handlers to all such fields. This was a slight pain but was the only way I could find to do that.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜