2011-11-04 80 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