Javascript .不工作

Javascript .不工作,javascript,jquery,jquery-selectors,Javascript,Jquery,Jquery Selectors,我正在制作一个登录表单,当你点击一个链接时就会出现。然后,当我单击任何其他内容或登录链接时,我希望登录表单消失。但是,当我尝试使用jQuery.not()函数以及:not()选择器时,它仍然会以所有元素为目标(不会从选择中删除指定的元素)。 如果您想查看代码,请查看。正如您在小提琴中看到的,当您单击登录链接时,它会出现,但随后会立即消失,因为出现了.click()语句,即使我正在使用.not()函数从选择中删除该元素和登录表单中的元素。单击登录表单及其内部的项目也会使其消失,即使它们正在使用.n

我正在制作一个登录表单,当你点击一个链接时就会出现。然后,当我单击任何其他内容或登录链接时,我希望登录表单消失。但是,当我尝试使用jQuery
.not()
函数以及
:not()
选择器时,它仍然会以所有元素为目标(不会从选择中删除指定的元素)。
如果您想查看代码,请查看。正如您在小提琴中看到的,当您单击登录链接时,它会出现,但随后会立即消失,因为出现了
.click()
语句,即使我正在使用
.not()
函数从选择中删除该元素和登录表单中的元素。单击登录表单及其内部的项目也会使其消失,即使它们正在使用
.not()
删除

HTML:


您的问题是事件冒泡,单击事件会弹出dom并命中一个未通过not()调用排除的元素。相反,请使用事件处理程序查看事件源,然后单击此处的“取消”

if ($(e.target).is("#login, #loginform, #loginform *")) return;

您的问题是事件冒泡,单击事件会弹出dom,并命中一个未通过not()调用排除的元素。相反,请使用事件处理程序查看事件源,然后单击此处的“取消”

if ($(e.target).is("#login, #loginform, #loginform *")) return;

if ($(e.target).is("#login, #loginform, #loginform *")) return;