我有这个简单的脚本,我想知道如果用户在.side之外点击以隐藏.side。
脚本在这里
$(document).ready(function() {
$(".side").hide();
$("a").click(function () {
$(this).next().slideToggle("fast");
});
$(document).bind('keydown', function(e) {
if (e.which == 27) {
$("a").next().slideUp();
}
});
});
您可以在此处找到整个代码 http://jsfiddle.net/8sn2nc3L/
答案 0 :(得分:1)
您可以添加以下内容:JS Fiddle
$(document).mouseup(function (e)
{
var side = $(".side");
if (!side.is(e.target) // if the target of the click isn't side...
&& side.has(e.target).length === 0)
{
side.slideUp("fast");
}
});
答案 1 :(得分:0)
您可以使用$(event.target).is('.side')
查看当前点击的目标。如果它是假的,那意味着点击不在您的div之外。
http://jsfiddle.net/8sn2nc3L/5/
$(document).ready(function () {
$(".side").hide();
$("a").click(function (e) {
$(this).next().slideToggle("fast");
e.stopImmediatePropagation();
});
$(document).bind('click', function (event) {
if (!$(event.target).is('.side')) {
$("a").next().slideUp();
}
});
});