下面的代码用于显示和隐藏 Mega Dropdowns。如果您将鼠标悬停在具有“dropDown”类的链接上,则会显示子“.dropPanel”。只要您的鼠标悬停在链接或下拉面板上,下拉面板就会保持显示。将光标移动到链接或面板以外的任何位置,面板将被隐藏。很基本的东西。
在其中一些 Mega Dropdowns 中有一些包含选择元素的表单。在 Firefox 中,一切都很好。在 IE(特别是 8,没有测试任何其他版本)中,如果您将鼠标悬停在下拉面板中的选择元素上,hoverIntent 会触发 dropPanelOff() 的“out”函数并且下拉面板隐藏。
我该如何防止这种情况?
// Apply Hover Intent to Menu Panels
$(".dropDown").hoverIntent({
sensitivity: 10,
interval: 150,
over: dropPanelOn,
timeout: 150,
out: dropPanelOff
});
// Menu Over function call
function dropPanelOn() {
$('a[rel="dropLink"]', this).addClass('hover');
$('.dropPanel', this).slideDown('fast');
}
// Menu Out function call
function dropPanelOff() {
obj = this;
$('.dropPanel', this).slideUp(100, function(){
$('a[rel="dropLink"]', obj).removeClass('hover');
$('.dropLink span', obj).removeClass('hover');
});
}