我有以下情况:
一个选择框和一个工具提示,当用户单击该框以选择一个选项时出现。要显示工具提示,可以使用 css (select:focus ~ .tooltip) 或使用 focus() 事件的 jquery 轻松完成。 当用户选择某些东西时,选择框关闭并且工具提示消失。这可以通过 change() 事件来完成。
但是有一个问题。如果用户打开选择框并单击页面上的其他位置,列表将关闭,并且在 Firefox 中不会立即触发 blur 事件,因此工具提示仍然可见。如果用户在选择之外进行第二次单击,则会触发模糊事件并且工具提示会消失。
Chrome 和 IE 可以,Firefox 不行。
有人知道 Firefox 中的解决方法吗?
谢谢, 伊斯特万
最佳答案
在玩了大约半小时之后,我不敢说我的输入是:否。并且出于以下原因:
- 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。
关于javascript - 选择框和 Firefox 上的模糊事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17325737/