选择框和Firefox上的模糊事件

时间:2013-06-26 16:36:28

标签: javascript jquery html events blur

我有以下情况:

当用户点击框以选择选项时,会显示一个选择框和工具提示。使用focus()事件可以使用css(select:focus~.tooltip)或jquery轻松完成工具提示。 当用户选择某些内容时,选择框将关闭,工具提示将消失。这可以通过change()事件来完成。

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

Chrome和IE浏览器没问题,Firefox不是。

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

感谢, 的Istvan

1 个答案:

答案 0 :(得分:5)

在玩了大约半个小时之后,我不敢说我​​的输入是:没有。由于以下原因:

  • Firefox在第二次点击之前不会触发模糊事件。通过查看选择的下拉列表可以明显看出这一点,它仍为蓝色。
  • 因此纯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。