我正在尝试制作一个不需要任何 3rd 方代码的工具提示。我想在 jQuery 和 CSS 中做到这一点。 它需要支持换行并且只在鼠标悬停在输入元素上时显示。
如果可能,我不想向 HTML 页面添加其他代码或向输入字段添加标题。
我创建了一个包含要显示的文本的对象,活动对象也将包含其他值。
tooltip = {
'sitea': { 'tip': 'Site A Hover' },
'siteb': { 'tip': 'Site A Hover' },
'sitec': { 'tip': 'Site A Hover' }
}
当我将鼠标悬停在输入上时,我想要一个 div 来显示来自对象的文本。到目前为止,我已经让悬停工作了,但我不知道如何做 div 并只在悬停时显示它。
$(":input").hover( function() {
$(this).css('cursor','pointer')
}, function() {
$(this).css('cursor','auto');
})
谢谢
答案 0 :(得分:0)
试试这个:
将此添加到您的 css 文件中。
div:hover > .div-to-display {
display: block
}
将其添加到 javascript 文件中:
$('div').append('<div class="div-to-display">yay</div>');
添加要在其上显示工具提示的新 div 标签。
<div>newly added div tag (hover to diplay tooltip </div>
当然,您可以根据需要添加 css 和更改工具提示。
答案 1 :(得分:0)
我使用以下小提琴让他工作:
http://jsfiddle.net/wjh6va8k/1/
CSS:
.tooltip {
display: block
border: 1px solid #000000;
background-color: #008800;
color: #ffffff;
padding: 5px;
border-radius: 3px;
}
js
$(":input").hover( function(e) {
$('body').append('<div id="tooltip" class="tooltip">Tooltip<br>New line</div>').show()
elmTop = $(this).offset().top + 10;
elmWidth = $(this).width() + 10;
$('#tooltip').css( 'position', 'absolute' );
$('#tooltip').css( 'top', elmTop );
$('#tooltip').css( 'left', elmWidth );
})
谢谢