2011-11-04 57 views
0

我试图实现“自定义”组合框选项弹出,以便在列表上的每个选项附近我可以放置图标/图像。禁用在Firefox中弹出选择元素选项

我的目标是尽可能使其尽可能不显眼,并使其看起来尽可能接近常规组合,因此,对于Chrome和IE而言,抓住引起标准弹出窗口出现的鼠标和键盘事件的解决方案正常工作:

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

这基本上使得它如此的控制仍然存在,找本地人,每当用户点击或集中,它显示了“自定义”列表,而不是本地的。但是,在Firefox中,只要用户单击组合框控件(< select>),就会触发一个弹出窗口显示事件,但是我无法找到一种方法在弹出窗口中显示<选项>显示覆盖了我的“自定义”选项显示实施。

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

在此先感谢。

回答

0

我查看了源代码,它似乎无法取消打开下拉菜单或弹出窗口显示事件的鼠标事件(我甚至不知道为什么会生成此事件)。不过,我认为你可能能够捕获父元素上的鼠标事件并停止它的传播。

+0

是的,这就是我想出来的...我也试图阻止在父元素上的传播,它并没有解决......可悲的是,我猜这个时候我唯一的选择是检测浏览器是Firefox,如果是这样,降级到标准组合框行为:/ 我会upvote,但可悲的是我不能:(分15分 –

+0

@FábioBatista我会接受一个接受的答案;-) – Neil