1

当鼠标离开具有#loginform_top id 的表单时,我使用jQuery 将表单设置为fadeOut。这工作正常,但由于此表单是一个登录框,当 Firefox 弹出此表单中输入字段的自动完成详细信息时,将鼠标移动到自动完成上的行为会隐藏我的表单。是否可以在不隐藏表单的情况下选择自动完成。谢谢你看这个。我正在使用以下代码:

  $('#loginform_top').hide(); 
  $('.loginToggle').mouseover(function() { 
    if(!$('#loginform_top:visible').length)
    {
      $('#loginform_top').fadeIn('fast'); 
    }
  });
  $('#loginform_top').mouseleave(function() { 
   $('#loginform_top').fadeOut('fast') 
  });

});

4

2 回答 2

0

这更像是一种 hack,但是如果您在 mouseleave 处理程序中启动了一个 setTimeout,它会延迟隐藏表单以让用户有机会处理自动完成。

或者,您可以提供“X”或其他内容,让用户在选择不登录时关闭表单,而不是使用 mouseleave。这假定登录是一个有效的选项。

于 2010-11-06T19:10:20.150 回答
0

您可能想尝试通过在其中添加<br />s 或设置其高度样式属性来使表单更大。这可能是由于单击自动完成选项时鼠标离开表单引起的(我认为您在上面描述了这一点)。

我还没有检查,但你可以将它与 onblur="" 结合起来,当文本框被取消选择时。然后,您的其他 JavaScript 代码可以引用其中定义的变量。

于 2010-11-06T18:42:44.137 回答