如果用户点击任何地方而不是链接和div本身使用jQuery,如何隐藏div?

时间:2011-09-24 03:13:55

标签: javascript jquery

好的,这么简单的问题。我有一个链接,点击时显示一个div。如果用户模糊了该链接,则隐藏div。这很好,但是如果用户点击它,我不希望隐藏div。因此,如果用户单击链接或div本身以外的任何位置,则应该隐藏div。现在我的代码没有这样做。

的jsfiddle:

http://jsfiddle.net/gTkUG/

jQuery的:

$('#myLink').click(function(e) {
    $('#myDiv').show();
    e.preventDefault();
});
$('#myLink').blur(function() {
    $('#myDiv').hide();
});

HTML:

<div style="display:none;width:100px;height:100px;border:1px solid red" id="myDiv"></div>

<a href="" id="myLink">Click Me</a>

所以我想问题是,如何检测两个或多个事件的模糊而不只是一个?

1 个答案:

答案 0 :(得分:2)

$('#myLink, #myDiv').click(function(e) {
    $('#myDiv').show();
    e.preventDefault();
    e.stopPropagation();
});
$(document).click(function() {
    $('#myDiv').hide();
});

http://jsfiddle.net/gTkUG/3/