基本上我正在尝试实现一个像新的twitter那样的登录。当你点击登录时,一个带有字段的div会弹出。现在当我点击div之外的任何地方(div失去焦点),那么div应该会消失。
我已经尝试了How to blur the div element?中提到的技术
代码如下所示:
$("body").click(function(evt) {
if (evt.target.id !== 'loginDialog') {
$("#loginDialog").hide();
}
});
这样做的问题是target.id
将不等于loginDialog
,即使我单击loginDialog
中的某个地方,比如在子div中。
因此,上述是一个很好的方向,但解决方案是不完整的。
实现这一目标的最佳途径是什么?
3条答案
按热度按时间rkkpypqq1#
如果将鼠标移到外部还不够,并且您希望它仅在用户单击鼠标外部时才消失,那么下面的代码片段可能会对您有所帮助。
rqcrx0a62#
在各种示例中,最好使用iframe http://fancybox.net/的jquery fancybox插件
[更新]::抱歉愚蠢的假设代码。检查工作代码
nnsrf1az3#
不是很好的做法,但可能会起作用。