禁用Firefox中的“选择元素选项”弹出窗口

时间:2011-11-04 19:37:34

标签: javascript events firefox dom select

我正在尝试实现“自定义”组合框选项弹出窗口,因此在列表中的每个选项附近我都可以放置图标/图像。

我的目标是让它尽可能不引人注意,让它看起来尽可能接近常规组合,因此,对于Chrome和IE,抓住导致标准弹出窗口显示的鼠标和键盘事件的解决方案细:

@el.bind 'mousedown keydown keyup click', (e) =>
(...)
e.stopPropagation()
e.preventDefault()

这基本上使得控件仍然存在,看起来是原生的,每当用户点击或聚焦它时,它就会显示“自定义”列表而不是本地列表。

但是,在firefox中,只要用户点击组合框控件(< select>),就会触发弹出窗口事件,但是在弹出窗口之前我无法找到取消它的方法。选项>显示,掩盖我的“自定义”选项显示实现。

我能够找到的关于此事件的唯一信息是在Mozilla XUL文档中。

提前致谢。

1 个答案:

答案 0 :(得分:0)

我查看了源代码,它似乎无法取消打开下拉列表的鼠标事件或弹出显示事件(我甚至不知道为什么会生成该事件) 。但是我认为您可以在父元素上捕获鼠标事件并停止传播。