这是一个可能的解决方案。它使用 jQuery,因为您不能使用title
-attribute 并且不能将另一个子元素放入select
-Container,因此它不是有效的 HTML。
见演示:
http://jsfiddle.net/DLyMG/
这个怎么运作
诀窍是绑定悬停interests.hover
。第一个功能在您越过select
-box 时触发,第二个功能在您离开时触发。我timeout
为此添加了一个:当用户选择某些东西时,他会移出元素(因为列表比元素本身长)。因此,当他选择某些东西时,他也会触发mouseout
事件,因此我们有timeout
.
第二件事是绑定onchange
-event,它在下面完成。当用户选择一个值时,工具提示的内容会发生变化,您可以根据需要添加任何文本或 HTML。
Javascript
<script>
$(document).ready(function () {
var interests = $('#Interests');
var tooltip = $('#tooltip');
var tooltipInfo = $('#tooltip_info');
interests.hover(
function() {
tooltip.fadeIn(200);
},
function() {
setTimeout ( function () {
tooltip.fadeOut(200); tooltipInfo.html();
}, 1000);
}
);
interests.bind('change', function() {
tooltipInfo.html('user has changed the value');
});
});
</script>
CSS
<style>
aside.tooltip {
display: none;
position: absolute;
top: 20px;
left: 300px;
}
</style>
HTML
<select id="Interests">
<option value="1">Value 1</option>
<option value="2">Value 2</option>
<option value="3">Value 3</option>
</select>
<aside id="tooltip" class="tooltip">
Hey, I'm a Tooltip.
<span id="tooltip_info"></span>
</aside>
笔记
这当然需要一些进一步的改进。这只是一个例子。您需要在文档中包含 jQuery 库,例如:
<script src="src/js/com.jquery/1.7/jquery-1.7.min.js"></script>