menu & hotkeys

Hi there.
Trying to get hotkeys running.

Trying to get this little things running for some more minutes now and have lost the fun.
Latest i tried to create an own open method as its essential but stopped for the moment.


  1. menu has no supported open/close methods. Right?
    Means to now menus can only be opened by mouseclick.

  2. There’s no hotkey support for toplevel menu polygons.
    No underline, no info text. Right?

thanks for help.


the only one mention of hotkeys in menu - ability to show labels next to sublevel items

to add key-navigation into menu (highlight, show/open polygons, move cursor) - much code should be updated/added. not sure we will add this into menu right now, but anyway you can send request feature to

now your questions:

show/hide top-level items, you can use this ext for example

add once after menu.js loaded

dhtmlXMenuObject.prototype.openTopItem = function(id) { if (this._lasOpened) this.closeTopItem(this._lasOpened); this._lasOpened = id; id = this.idPrefix+id; this.idPull[id]._mouseOver = true; this._showPolygon(id, "bottom"); }; dhtmlXMenuObject.prototype.closeTopItem = function(id) { if (this._lasOpened == id) this._lasOpened = null; id = this.idPrefix+id; this._hidePolygon(id); this.idPull[id]._mouseOver = false; };

in code attach key handlers:

window.addEventListsner("keyup", function(e){ e=e||event; if (e.keyCode == 40 && e.altKey) { // alt+down key // here will your other code to check if any other item opened or so menu.openTopItem("file"); } }, false); // or attachEvent for IE

regarding underline text/letter - just add tag, for example in xml init:

<item id="file"><itemText><![CDATA[<u>F</u>ile]]></itemText>....</item>

or with escaping in attr:

<item id="file" text="<u>F</u>ile">

Hi Andrei.
Thanks for your help but thats really no serious solution.
The question i have for myself is, why none of your customers (and your
references names an impressive list) has demand on hotkey support.
Sorry, but for serious application development the first thing you have
to focus is the keyboard. You hear me a little bit laughing, thats right.

Cause of lacking keyboard support I had to evaluate Dojo and Smartclient,
the last not evuluated big players in RIA-Development. For myself Ext
is the only state of art technology, but it fails for our company caused on license restrictions.
Next one after Ext is Bindows, but its more an approach than an industrial strength solution.
DHTMLX is next. Don’t want to but have to. Dojo lacks every detail, Smartclient is cool but
has an outdated programming style.

Thats why i had (or decided) to start own keyboard support for your framework over the weekend. Things to get keyboard running are not only open and close methods. You left behind
working solutions for:

  • move up/down
  • move in/out
  • selectFirstActive()
  • getNext(), getPrevious()
  • setActive()
  • setSelected()
  • keyboard default actions (jump in on F10, focus, unfocus)
    and so on and so on.

On that base i can’t ramp up a software.
And i have no interest for paying a license when i have to pay for support
tickets which go on creating essential features. No ramp up, no money, no license.
That part please provide to your sales account which is free to contact me for sale.

Ok, what i’ve done so far is fully keyboard support for menu.
Theres no other way for us so my first questions are:

-> does your license accept own prototype development
-> if, does you support support customer prototypes when licensed

Other question would be:
Is s.o. interested in keyboard support?
As that is really no customer specific software part i would provide the keyboard
bindings for the moment. Theres GIT for deployment if s.o. has interest and if license
makes no restrictions (?)

Best Regards,
Alexander Münch
Autoflow Automation Systems

Hi Alexander,

our license (both Commercial and Enterprise) allows using modified software. At the same time all modifications considered as a property of DHTMLX Ltd. (otherwise there could be potencial ownership conflicts for new functionality). Modified software can’t be supported by our technical support unless modifications were accepted to production.

As to keyboard support. Yes, it is a bit strange but there were no requests for complete keyboad support for entire library. As for now - we will not do this as a customization, as it is quite complex work. But we’ll consider this feature for next major update. Thank you.

Hi Embre.
I’m very pleased with you and your license.
Thats all fair and should be supported ourside.

I don’t think keyboard support is complex if you build it up on a state based design.

For now tell me please:
Do i have to provide the prototypes to you, to who and how. I finished first level of
keyboard bindings for menu yesterday. Only some basic todos are left and i would be pleased
if you could help me out with a little still residing in it.


My company badly needs to more keyboard support as well. We were sold on DHTMLX, we tried the software, showed it to some clients, they love it, but came to find out we must stay 508 compliant. We have many clients, commercial and government, but now are being forced to look at other software like SmartClient. Can you give me any definitive information on WHEN you will be providing more keyboard support? If you could give keyboard support to the grids first then we may hold off and wait until you can accomplish that before looking at other software.

Basically what we need know is the ability for focus to be on something outside of the grid, but be able to tab into the grid, navigate down to a certain row, and select that row. I know once focus is in the grid I can use things such as F2 to start editing, but it appears we cannot get focus into the grid with only keys nor select a row. Then right behind the grid, keyboard support for the dhtmlxtoolbar would be the next most important item for us.