当鼠标移动具有#loginform_top id的表单时,我使用jQuery将表单设置为fadeOut。这工作正常但是当这个表单是一个登录框时,当firefox弹出这个表单中输入字段的自动完成detials时,将鼠标移动到自动完成的行为会隐藏我的表单。是否可以选择自动完成而不隐藏表单。谢谢你看这个。我正在使用以下代码:
$('#loginform_top').hide();
$('.loginToggle').mouseover(function() {
if(!$('#loginform_top:visible').length)
{
$('#loginform_top').fadeIn('fast');
}
});
$('#loginform_top').mouseleave(function() {
$('#loginform_top').fadeOut('fast')
});
});
答案 0 :(得分:0)
您可能希望尝试通过在其中添加<br />
或设置其高度样式属性来使表单更大。这可能是因为鼠标在单击自动完成选项时离开表单(这是我认为您在上面描述的内容)。
我没有检查过,但您可以将其与onblur =“”结合使用,表示取消选中文本框时。然后,您的其他JavaScript代码可以引用在那里定义的变量。
答案 1 :(得分:0)
这更像是一个hack,但是如果你在mouseleave处理程序中启动setTimeout会延迟隐藏表单以使用户有机会处理自动完成,那该怎么办呢。
或者,如果他们选择不登录,而不是使用mouseleave,则可以提供“X”或其他东西让用户解雇表单。这假设不登录是有效选项。