you really need to be a bit more programatic about this. mouseenter is an event and as such, it is bound by event.target - by firing it on the parent and entering a child, you WILL fire a mouseleave.
the way around this is to bind the anonymous function called to a full function, eg.
PHP Code:
// in global or relevant / accessible scope
var isInMenu = false, leaveTimer, leaving = function() {
leaveTimer = (function() {
if (!isInMenu)
mySlide.slideOut();
}).delay(300);
}, entering = function() {
isInMenu = true; // would get set to true by the mouseenter of the child element
$clear(leaveTimer); // stop any leaving event queued, we have a sub menu open.
mySlide.slideIn();
};
$('active_area').addEventa({
mouseenter: entering,
mouseleave: leaving
});
I have not tested this as I don't have mootools 1.11 to hand (it's 1.2.3.1 current now... ) but it ought to be fine.
btw, you can stop event bubbling like so:
PHP Code:
"click": function(e) {
new Event(e).stop(); // 1.11, or .preventDefault(); in 1.2
}
there is no sense in stopping the mouseenter event, it has no default implications...
good luck