It has turned out that it is necessary to describe the expected menu behaviour with guidelines to avoid malfunction and confusion, when combining properties. And getting what you want becomes easier, when you know what you want.
Please note: It doesn't make a difference whether a boolean property is declared as false or not declared at all. Boolean properties used in FX Menu are by default set to false. |
|
Menu Behaviour - Event Handler Guidelines
The table below - describing event handlers - is not complete, but you can clearly see that all four properties influence each other. Some of the 16 available combinations result in a "strange" menu behaviour: showonclick=false in combination with hideonclick=true. But depending on the web project some users might find an issue, where such combinations are necessary.
"Keepvisible" should be declared for a whole menu in fxmenustyle. Otherwise more complex menu system might have troubles with "forgotten" submenus in the third level. (Once you have some experience with this properties you can start using different values for submenus.)
Select boxes in an item with the property "type" declared as form and overflow=scroll in Mozilla, might affect hideonpageclick. |
| Property (Combination) | Guideline/Description | Example |
showonclick=false; hideonclick=false; keeponblur=false; keepvisible=false; | Submenu opens on "mouseover" (showDelay). Submenu disappears on "mouseout" in 2 cases: Case 1: When you move your mouse over another item in the same level (rules - reactionDelay;blurDelay). Case 2: When menu lost the focus (hideDelay).
Submenu disappears on "click" in 1 case: Case 1: When hideonpageclick=true and you click an empty area on the page. | Behaviour of a standard "mouseover" menu! |
showonclick=true; hideonclick=false; keeponblur=false; keepvisible=false; | Submenu opens on "click" (showDelay is ignored). Submenu disappears on "mouseout" in 2 cases: Case 1: When you move your mouse over another item in the same level (rules - reactionDelay;blurDelay). Case 2: When menu lost the focus (hideDelay).
Submenu disappears on "click" in 1 case: Case 1: When hideonpageclick=true and you click an empty area on the page. | |
showonclick=true; hideonclick=true; keeponblur=false; keepvisible=false; | Submenu opens on "click" (showDelay is ignored). Submenu disappears on "mouseout" in 2 cases: Case 1: When you move your mouse over another item in the same level (rules - reactionDelay;blurDelay). Case 2: When menu lost the focus (hideDelay).
Submenu disappears on "click" in 2 cases: Case 1: When hideonpageclick=true and you click an empty area on the page. Case 2: When the submenu is visible and you click the parent item. | |
showonclick=false; hideonclick=true; keeponblur=false; keepvisible=false; | Submenu opens on "mouseover" (showDelay). Submenu disappears on "mouseout" in 2 cases: Case 1: When you move your mouse over another item in the same level (rules - reactionDelay;blurDelay). Case 2: When menu lost the focus (hideDelay).
Submenu disappears on "click" in 2 cases: Case 1: When hideonpageclick=true and you click an empty area on the page. Case 2: When the submenu is visible and you click the parent item. (rule blurDelay is ignored) | |
showonclick=false; hideonclick=false; keeponblur=true; keepvisible=false; | Submenu opens on "mouseover" (showDelay). Submenu disappears on "mouseout" in 1 case: Case 1: When menu lost the focus (hideDelay).
Submenu disappears on "click" in 1 case: Case 1: When hideonpageclick=true and you click an empty area on the page. | |
showonclick=false; hideonclick=false; keeponblur=false; keepvisible=true; | Submenu opens on "mouseover" (showDelay). Submenu disappears on "mouseout" in 1 case: Case 1: When you move your mouse over another item in the same level (rules - reactionDelay;blurDelay).
Submenu disappears on "click" in 1 case: Case 1: When hideonpageclick=true and you click an empty area on the page. | |
showonclick=false; hideonclick=false; keeponblur=true; keepvisible=true; | Submenu opens on "mouseover" (showDelay). Once opened the submenu stays open, except you hide it with an additional function. This is used for "popUp" advertisements.
Submenu disappears on "click" in 1 case: Case 1: When hideonpageclick=true and you click an empty area on the page. | |
showonclick=true; hideonclick=false; keeponblur=true; keepvisible=false; | Submenu opens on "click" (showDelay is ignored). Submenu disappears on "mouseout" in 1 case: Case 1: When menu lost the focus (hideDelay).
Submenu disappears on "click" in 1 case: Case 1: When hideonpageclick=true and you click an empty area on the page. | |
showonclick=true; hideonclick=true; keeponblur=true; keepvisible=false; | Submenu opens on "click" (showDelay is ignored). Submenu disappears on "mouseout" in 1 case: Case 1: When menu lost the focus (hideDelay).
Submenu disappears on "click" in 3 cases: Case 1: When hideonpageclick=true and you click an empty area on the page. Case 2: When the submenu is visible and you click the parent item. (rule blurDelay is ignored) Case 3: When you click on another item in the same level (delays are ignored). | |
showonclick=true; hideonclick=true; keeponblur=true; keepvisible=true; | Submenu opens on "click" (showDelay is ignored). Submenu stays visible on "mouseout".
Submenu disappears on "click" in 3 cases: Case 1: When hideonpageclick=true and you click an empty area on the page. Case 2: When the submenu is visible and you click the parent item. (rule blurDelay is ignored) Case 3: When you click on another item in the same level (delays are ignored). | In combination with hideonpagedown=true this behaviour represents a standard "click" menu! |