【发布时间】:2019-03-03 12:03:13
【问题描述】:
我不知道以前是否有人解决过这个问题,但这似乎是 Firefox 中的一个错误,我找不到任何解决方法。
如何重现错误:
- 在文档上添加事件侦听器,例如 click 或 mousedown
- 然后打开文档上的任意选择标签
- 在选择标签外点击
预期: 在选择标签外点击后触发事件
我需要检测用户是否在选择标签之外点击?
【问题讨论】:
标签: javascript firefox
我不知道以前是否有人解决过这个问题,但这似乎是 Firefox 中的一个错误,我找不到任何解决方法。
如何重现错误:
预期: 在选择标签外点击后触发事件
我需要检测用户是否在选择标签之外点击?
【问题讨论】:
标签: javascript firefox
@Zerfir 请在 Firefox 62.0(64 位)上尝试此代码 sn-p
打开选择标签并将鼠标悬停在按钮上,它不应像 chrome 那样更改文本。
<select>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="opel">Opel</option>
<option value="audi">Audi</option>
</select>
<button onmouseenter="this.innerHTML = Math.random();">M</button>
【讨论】:
当您单击 <select> HTML 对象 时,浏览器(更具体地说是旧版本的 Firefox)会向文档添加背景并监听其中的点击它是为了在您在其外部执行点击后关闭<select>(也被认为有助于防止误点击)。
我刚刚在 Firefox 53.0 上对其进行了测试,它运行良好(onclick 在<select> 打开后触发)。在mousedown 上立即模糊(将选择设置为失焦)并关闭它。也许,您可以分享一些代码或 JSFiddle URL。
简单的 HTML <select> 和 <button> 和 onclick 事件(尝试使用 Firefox 53.0)
<select>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="opel">Opel</option>
<option value="audi">Audi</option>
</select>
<button onclick="alert('Clicked')">M</button>
【讨论】: