You can go another way.
You could use —> setTimeout(()=>{}) as a workaround.
- When entering —> Menu opens.
- And when leaving —> starting setTimeout → after few seconds then it would close the menu again (and not immediately).
This would be my idea, to solve it somehow (for FireFox).
And you could also write for every type of browser a specified code, which would work for the current selected browser.
Yes you would then have 4-different codes for each of the choosen browsers, but 4-codes which would work for every individualy browser.
The last thing you would have to do, would be —> autodetecting the current used browser…
Perhaps this may help you, to achieve your aim…
https://www.wix.com/velo/forum/community-discussion/is-there-a-way-to-know-which-browser-the-user-is-using
I am thinking of something like this way… (not tested, just an idea)
$w.onReady(function () {
let myDelayTime = 700
let state
$w('#container2').onMouseIn(event) {state=1
let $item = $w.at(event.context);
$item("#box1").expand();
})
$w('#container2').onMouseOut(event) {state=0
let $item = $w.at(event.context);
setTimeout(()=>{
if(state===1) {$item("#box1").expand();}
else {$item("#box1").collapse();}
}myDelayTime)
})
$w('#container2').onMouseOut(event) {state=1
let $item = $w.at(event.context);
$item("#box1").expand();
})
)}