jquery-ui - 鼠标留在下拉菜单上不起作用 IE

标签 jquery-ui jquery

下面的 html 代码生成一个红色的 div,其中有一个 select 元素。对于div,附加了mouseenter和mouseleave事件,即当鼠标指针悬停在div上时,div背景颜色变成黄色,离开div时,它再次变回红色。

在mozilla中,当鼠标指针进入div时,它会变成黄色。当我选择下拉选项值时,它也保持黄色,但这在 IE 中不会发生。当我选择第一个选项时,div 背景会变成红色,这是不应该发生的。请帮我解决这个例子。

<html>
<head>
<script type="text/javascript" language="javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript" language="javascript">
$(function(){
  $("#selectDiv").mouseenter(function(){
        $("#selectDiv").css("background-color","yellow");
}).mouseleave(function(){
        $("#selectDiv").css("background-color","red");
});
});
</script>
</head>
<body>
<div id="selectDiv" style="margin:20px; background-color:red;height:100px;width:100px;">
<select style="margin:10px;">
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="mercedes">Mercedes</option>
  <option value="audi">Audi</option>
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="mercedes">Mercedes</option>
  <option value="audi">Audi</option>
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="mercedes">Mercedes</option>
  <option value="audi">Audi</option>
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
</select>
</div>
</div>
</body>
</html>

最佳答案

@AngelWorkz 干得好。在大多数版本的 ie 中,选择框都有点棘手。单击它会正确地(考虑到它呈现选择框的方式)触发 mouseleave/mouseout。

我的建议是使用计时器..做类似的事情

http://jsfiddle.net/3GhT2/1/

$(function(){

  var graceTimer = null;

  $("#selectDiv").mouseover(function(){
        clearTimeout(graceTimer);
        $("#selectDiv").css("background-color","yellow");
    }).mouseout(function(){
      graceTimer = setTimeout(function(){
        $("#selectDiv").css("background-color","red");
      }, 500);
    });
});

关于jquery-ui - 鼠标留在下拉菜单上不起作用 IE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8987154/

相关文章:

javascript - Yii 使用 Ajax 上传文件 - 传递数据数组 (formData)

jquery - div jquery mobile中的下一个上一个按钮

javascript - Jquery Ui Datepicker 月/年下拉菜单在最新的 Firefox 中的弹出窗口中不起作用

javascript - 在同一列表中拖动时以及从一个列表移动到连接列表时如何区分可排序更新事件

javascript - 仅在下拉菜单中显示月份和年份,jQuery 不适用于选择

javascript - 如何使中间项目的 slider 比其他项目大?

jquery - 无法在 jQuery 日期选择器中选择所选日期的父级

asp.net-mvc - jqGrid中的日期选择器,简单的例子?

jquery - 如何在 jQuery 对话框中加载网页?

javascript - 如何以最好的方式在jquery中制定条件?