【发布时间】:2020-11-23 22:58:53
【问题描述】:
我正在使用 javascript 中的 onmouseover 事件
我想弹出一个小框并一直保持到没有onmouseover为止
我认为它被称为描述框,但我不确定。
当我将鼠标放在某些文本上时,如何让一个带有自定义文本的小框弹出,然后在我将鼠标移到其他对象时消失..?
【问题讨论】:
标签: javascript tooltip
我正在使用 javascript 中的 onmouseover 事件
我想弹出一个小框并一直保持到没有onmouseover为止
我认为它被称为描述框,但我不确定。
当我将鼠标放在某些文本上时,如何让一个带有自定义文本的小框弹出,然后在我将鼠标移到其他对象时消失..?
【问题讨论】:
标签: javascript tooltip
假设popup 是您的“描述框”的ID:
HTML
<div id="parent"> <!-- This is the main container, to mouse over -->
<div id="popup" style="display: none">description text here</div>
</div>
JavaScript
var e = document.getElementById('parent');
e.onmouseover = function() {
document.getElementById('popup').style.display = 'block';
}
e.onmouseout = function() {
document.getElementById('popup').style.display = 'none';
}
您也可以完全摆脱 JavaScript,只使用 CSS:
CSS
#parent #popup {
display: none;
}
#parent:hover #popup {
display: block;
}
【讨论】:
div 中删除 style="display: none"
虽然不一定是 JavaScript 解决方案,但还有一个“title”全局标签属性可能会有所帮助。
<a href="https://stackoverflow.com/questions/3559467/description-box-on-mouseover" title="This is a title.">Mouseover me</a>
【讨论】:
【讨论】:
这是一个老问题,但对于仍在寻找的人来说。在 JS 中,您现在可以使用 title 属性。
button.title = ("Popup text here");
【讨论】:
我会尝试使用 jQuery 的 .hover() 事件处理程序系统来执行此操作,当鼠标悬停在文本上时,它可以很容易地显示带有工具提示的 div,并在它消失后将其隐藏。
这是一个简单的例子。
HTML:
<p id="testText">Some Text</p>
<div id="tooltip">Tooltip Hint Text</div>
基本 CSS:
#tooltip {
display:none;
border:1px solid #F00;
width:150px;
}
jQuery:
$("#testText").hover(
function(e){
$("#tooltip").show();
},
function(e){
$("#tooltip").hide();
});
【讨论】:
CSS Tooltip 允许您像任何div 部分一样随意格式化弹出窗口!并且不需要 Javascript。
【讨论】: