【发布时间】:2012-04-02 19:41:58
【问题描述】:
我在使用 jQuery 的下拉菜单中实现以下行为时遇到问题。我希望这样当用户将鼠标悬停在其中一个选项上时,会突出显示一个 div。快速的谷歌搜索向我展示了一种“非 jquery”的方式,我在这里创建了一个小提琴:
<html>
<head>
<script type="text/javascript">
function showSelectValue(e) {
if (e.target.id!= 'select') {
document.getElementById('test').innerHTML = e.target.value;
}
}
function attachTest() {
document.getElementById('select').addEventListener('mouseover',showSelectValue,false);
}
</script>
</head>
<body onload="attachTest()">
<div id="test">Something Here</div>
<select id="select">
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
<option value="4">Four</option>
</select>
</body>
</html>
这个效果大致展示了想要的效果。文本会根据用户选择的选项进行更改(无需单击即可选择)。我目前已经为我的选择实现了一个onMouseOver 处理程序,但是我在确定突出显示的选项时遇到了问题。我该如何做到这一点?
【问题讨论】:
-
我不确定你想要什么,但使用
e.target.text来获取选项的文本。 jsfiddle.net/skram/RY5r4/2 或 jsfiddle.net/skram/RY5r4/5 用于文本和值。 -
如果它对任何人有用,脚本移到了 jsFiddle 的 ... 脚本部分:jsfiddle.net/RY5r4/4