FF响应式设计模式选择下拉菜单

时间:2018-07-11 09:04:42

标签: html firefox frontend

我无法在Firefox的响应式设计模式(61.0.1 64位MacOS,以及Windows和更早版本)中打开选择下拉列表。

进行以下简单选择:

<select> 
  <option>Test1</option>
  <option>Test2</option>
  <option>Test3</option>
</select>

在chrome的自适应设计模式(设备工具栏/移动模拟器)中,点击选择会打开下拉列表,但是在Firefox的自适应设计模式下(按crtl + shift + M,并在顶部选择一个模型,请确保手突出显示为蓝色==启用了触摸模拟),它不起作用,发出了touchevent,但是下拉菜单没有打开。

我添加了一个console.log来查看tapEvent是否发出。 Codepen exemple

<select onTouchStart=console.log(this)> 
  <option>Test1</option>
  <option>Test2</option>
  <option>Test3</option>
</select>

然后我将console.log更改为警报,非常奇怪的是,在FF中打开了下拉列表,在chrome中它按预期“提示”选择。 Codepen exepmle

<select onTouchStart=alert(this)> 
  <option>Test1</option>
  <option>Test2</option>
  <option>Test3</option>
</select>

我会错过什么吗?或者这是FF的触摸模拟器中的错误?

P.S .:我刚刚测试了它是否可以在真实的手机上的Firefox中运行,那里没有问题,似乎只是他们的模拟器。

1 个答案:

答案 0 :(得分:2)

Firefox的响应模式(尤其是触摸模拟器)绝对是一个问题。如果您使用alert而不是console.log似乎可以正常工作的原因是因为alert实际上导致代码在此处引发异常:

https://searchfox.org/mozilla-central/source/devtools/server/actors/emulation/touch-simulator.js#99

由于touch是未定义的,因此代码将不会继续,并且下拉列表将打开。

如果尚不存在,则应将其添加为bugzilla中的错误,以便在即将发布的Firefox版本中对其进行修复。