5

我有以下情况:

一个选择框和一个工具提示,当用户单击该框以选择一个选项时出现。要显示工具提示,可以使用 css (select:focus ~ .tooltip) 或 jquery 使用 focus() 事件轻松完成。当用户选择某些东西时,选择框关闭并且工具提示消失。这可以通过 change() 事件来完成。

但是有一个问题。如果用户打开选择框并单击页面上的其他位置,列表将关闭,并且在 Firefox 中,模糊事件不会立即触发,因此工具提示仍然可见。如果用户在选择之外进行第二次单击,则模糊事件触发并且工具提示消失。

Chrome 和 IE 都可以,Firefox 不行。

有人知道 Firefox 中的解决方法吗?

谢谢,伊斯特万

4

1 回答 1

5

在玩了大约半个小时之后,恐怕我的输入是:。由于以下原因:

  • Firefox 在第二次单击之前不会触发 blur 事件。从选择的下拉菜单中可以明显看出这一点,该下拉菜单仍然是蓝色的。
  • 因此,纯 CSS 解决方案绝对行不通
  • JavaScript 解决方案也几乎是不可能的,因为第一次点击似乎无处可去
    • 我通过尝试记录正文和文档点击来检查这一点,您会发现第一次都不会触发。事实上,选择也没有,所以我知道点击注册在哪个级别

请参阅我的JSFiddle了解我的工作。对不起!我想这只是一个FF问题。

$(document).click(function() {
    console.log("document");
});
$("body").click(function() {
    console.log("body");
});
$("select").click(function(e) {
    e.stopPropagation();
    console.log("select");
});

编辑:对不起,发布了一个旧的 JSFiddle。

于 2013-06-26T18:40:08.003 回答