На сайте balkit.com присутствует горизонтальная панель меню.
При наведении на некоторые пункты, появляется выпадающий список.
В firefox этот список пропадает, как только курсор уходит с триггера (пункта меню)
вот код скрипта, отвечающего за ховер:
if (options.hover) {
var open = false;
origin.unbind('click.' + origin.attr('id'));
// Hover handler to show dropdown
origin.on('mouseenter', function(e){ // Mouse over
if (open === false) {
placeDropdown();
open = true
}
});
origin.on('mouseleave', function(e){
// If hover on origin then to something other than dropdown content, then close
if(!$(e.toElement).closest('.dropdown-content').is(activates)) {
activates.stop(true, true);
hideDropdown();
open = false;
}
});
activates.on('mouseleave', function(e){ // Mouse out
if(!$(e.toElement).closest('.dropdown-button').is(origin)) {
activates.stop(true, true);
hideDropdown();
open = false;
}
});
Как это поправить?
В новой версии сего фреймворка разработчики, возможно, пытались пофиксить этот баг. Вот что они сделалаи:
// Hover
if (options.hover) {
var open = false;
origin.unbind('click.' + origin.attr('id'));
// Hover handler to show dropdown
origin.on('mouseenter', function(e){ // Mouse over
if (open === false) {
placeDropdown();
open = true;
}
});
origin.on('mouseleave', function(e){
// If hover on origin then to something other than dropdown content, then close
var toEl = e.toElement || e.relatedTarget; // added browser compatibility for target element
if(!$(toEl).closest('.dropdown-content').is(activates)) {
activates.stop(true, true);
hideDropdown();
open = false;
}
});
activates.on('mouseleave', function(e){ // Mouse out
var toEl = e.toElement || e.relatedTarget;
if(!$(toEl).closest('.dropdown-button').is(origin)) {
activates.stop(true, true);
hideDropdown();
open = false;
}
});
Я внес эти изменения в код своего билда, но никакого эффекта не получил - как пропадало, так и пропадает.