gpt4 book ai didi

javascript - 如何关闭 jQuery 工具提示

转载 作者:数据小太阳 更新时间:2023-10-29 04:40:57 25 4
gpt4 key购买 nike

我一直在尝试使用 jQuery 制作非常简单的 javascript 工具提示,但我遇到了困难。这个想法是在 div 中包含很少的内联元素 (span)。 span 元素将包含一个工具提示 div 和一些 html(图像和链接)。单击 span 元素时应打开工具提示,在元素外部或工具提示外部单击时应关闭。

到目前为止,打开工具提示不是问题,但关闭是问题。

<!DOCTYPE HTML>
<html>
<head>
<title></title>

<style>
#colors > div {
background-color: red;
height: 50px;
width: 50px;
margin: 5px;
}

#colors > div > span {
min-height: 10px !important;
min-width: 10px !important;
border: 3px solid black;
position: relative;
}

.tooltip {
border: 2px solid blue;
display: none;
}
</style>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script>
$(function () {
// generate boxes and tooltips
for (var i = 0; i < 9; i++) {
$('#colors').append('<div id="' + i + '"><span><div class="tooltip"><a href="#">add to favorites</a></div></span></div>');
}

$('#colors').delegate('span', 'click', function (event) {
$(this).children('.tooltip').css({position:'absolute', top:'5px', left:'5px'}).fadeIn();
// bottom one won't work
//event.stopPropagation();
});

$(document).delegate('body', 'click', function (event) {
var that = this
$.each($('.tooltip'), function (index, element) {
// it's always visible ...
//if ($(element).is(':visible')) {

// doesn't work either
if ($(element).is(':visible') && $(element).has(event.target).length === 0) {
var s = event.target;

console.log([($(s) == event.target), event.target, index, element, $(element).has(event.target).length, that]);
}
});
});
})
</script>
</head>
<body>
<div id="colors"></div>
</body>
</html>

如果点击超出 span 和工具提示,我似乎找不到关闭工具提示的方法。

最佳答案

要关闭工具提示,您需要调用

$('.tooltip').remove();

在你的场景中尝试

$.each($('.tooltip'), function (index, element) {
$(this).remove();
});

关于javascript - 如何关闭 jQuery 工具提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11840885/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com