我有一个jquery弹出式工作,显示点击。当点击相同的选择器时,我需要再次隐藏它。但目前它只是闪烁并重新加载。我已经设置它,所以它关闭,如果你点击任何不是选择器,但这不是我真正需要的。jQuery的工具提示 - 点击以打开并单击以关闭
这是我的代码,它完美的工作我只需要知道如何让它隐藏时,再次点击。
基本上我想我需要知道的是如何跟踪选择器已被点击(有多个项目,可以在同一个页面上点击所有相同的类),所以我可以说,如果再次点击关闭它?
$(document).ready(function(){
$("#tooltip").hide();
$("a.highScoreTooltip").click(function(){
var game = $(this).attr('title');
var offset = $(this).offset();
var top = offset.top - 43;
var left = offset.left + 155;
$.ajax({
type: "POST",
data: 'game=' + game,
url: "<?=$server_url?>leaderboard_popup.php",
cache: false,
success: function (html) {
$("#tooltip").show();
$("#tooltip").html(html);
$("#tooltip")
.css("top",top + "px")
.css("left",left + "px")
.fadeIn("fast");
}
});
});
jQuery(document).delegate(':not(#tooltip)', 'click', function(){
$('#tooltip').hide();
});
});
来跟踪选择已被点击,您可以添加CSS类([.addClass()](http://api.jquery.com/addClass /))在点击和删除([.removeClass()](http://api.jquery.com/removeClass/))另一次点击。 – marioosh 2012-02-09 10:21:41
@marioosh对于这个类使用看起来有点不必要,因为它只有一个属性被改变(并且有足够多的jQuery函数来修改该特定属性) - 另外,如果您确实去上课,为什么不使用'.toggleClass()'并且保存手动测试的麻烦? – 2012-02-09 10:31:16