sha*_*shi 3 jquery javascript-events
基本上我正在尝试实现一个登录,例如新推特的登录.当您单击登录时,会弹出包含字段的div.现在,当我点击div之外的任何地方(div失去焦点)时,div应该消失.
我已经尝试过如何模糊div元素中提到的技术?
代码如下
$("body").click(function(evt) {
if (evt.target.id !== 'loginDialog') {
$("#loginDialog").hide();
}
});
Run Code Online (Sandbox Code Playgroud)
麻烦就是target.id不会等于loginDialog,即使我点击某个地方有一个loginDialog在一个子div中说.
所以上面是一个很好的方向,但解决方案是不完整的.
实现这一目标的最佳方法是什么?
如果将鼠标移到外面是不够的,并且只有当用户点击它外面时你想让它消失,这里有一个可能对你有帮助的片段.
$('body').click(function(evt) {
if($(evt.target).parents('#loginDialog').length==0) {
$('#loginDialog').hide();
}
});
Run Code Online (Sandbox Code Playgroud)