Javascript 结算表格;模糊有更好的办法吗?

Javascript 结算表格;模糊有更好的办法吗?,javascript,jquery,events,forms,event-bubbling,Javascript,Jquery,Events,Forms,Event Bubbling,所以,我正在尝试关闭blur上的一个表单,例如Facebook评论。问题是,我有一个: $(window).click(function(){ $('.comment_form').hide(); }); $('.comment_form').click(function(){ return false; }); 但是,通过添加return false,它可以在我实际启动时取消单击提交按钮 我认为这会符合逻辑: $('*:not(.comment_form,.comment_form *)')

所以,我正在尝试关闭blur上的一个表单,例如Facebook评论。问题是,我有一个:

$(window).click(function(){ $('.comment_form').hide(); });
$('.comment_form').click(function(){ return false; });
但是,通过添加
return false
,它可以在我实际启动时取消单击提交按钮

我认为这会符合逻辑:

$('*:not(.comment_form,.comment_form *)').click(function(eve)
{
    $('.comment_form').hide();
});
但是,不幸的是,它没有,我认为这是因为当我点击,比方说,
。评论表单
时,我实际上是在点击
主体
div
div
。。。所以它实际上多次隐藏它

我的工作终于结束了

$('*').click(function(eve)
{
    if(!$(eve.target).is('.comment_form,.comment_form *'))
    {
        $('.comment_form').hide();
    }
});
然而,我不太确定我喜欢这个,这就是为什么我问。这将在每次单击时触发此单击事件


有人有什么建议吗?

您的解决方案是正确的,但将事件附加到
文档
,而不是所有元素(
*
)可能更明智:


您的解决方案是正确的,但将事件附加到
文档
,而不是所有元素(
*
)可能更明智:


隐马尔可夫模型。。。当我这样做时,虽然我不能再点击“评论”,但它似乎阻止了所有的点击。。。嗯…嗯。。。当我这样做时,虽然我不能再点击“评论”,但它似乎阻止了所有的点击。。。嗯……我确信答案是显而易见的,但是为什么不使用
$('.comment\u form input').blur(function(){…})
?因为,虽然这是一个表单,但注释区域是一个文本区域,而且,如果你错过了,我不希望它关闭,并单击提交旁边的右键。我确信答案是显而易见的,但为什么不使用
$('.comment_form input').blur(function(){…})
?因为,虽然这是一个表单,但注释区域是一个文本区域,而且,如果您错过了,我不希望它关闭,例如,单击submit旁边的。
$(document).click(function(eve) {
    if (!$(eve.target).is('.comment_form, .comment_form *')) {
        $('.comment_form').hide();
    }
});