0

使用常规的 HTML 选择框:

<select>
    <option value="">click to select a task type</option>
    <option value="">Awesome Option</option>

使用此 jQuery 时:

  $("select, option").live({
    mouseenter: function(){
      console.log("INSIDE");
    },
    mouseleave: function(){
      console.log("OUTSIDE");
    }
  });

当我单击选择框并将鼠标悬停在任何选项上时,IE 将响应我的鼠标为“外部”。

有解决办法吗?

4

1 回答 1

1

当您将事件绑定到 just 时,什么都不会发生option。我不认为你可以将事件绑定到那个。或者,如果可以,不是所有事件;click当然,显然这些也是。

这种行为是有意义的,因为select当您向下移动以选择一个选项时,您确实将鼠标移到了元素之外。浏览器/操作系统处理显示菜单。这样做的不仅仅是 IE。铬也是。

我建议使用该blur事件,因为它会在元素失去焦点时触发。这只会在您单击外部并关闭菜单时触发。

 $("select").live({
    mouseenter: function(){
      console.log("INSIDE");
    },
    blur: function(){
      console.log("OUTSIDE");
    }
  });

演示

于 2012-07-13T16:13:07.857 回答