右クリック検知にはcontextmenuなるプロパティがあるらしいですが、FireFoxでは右クリックと同時にクリックも呼び出されちゃいます。
そんなわけで、mouseupかmousedownを使いましょう。mouseupが本来の動作に近いのかもしれない。
var icon = document.getElementById("icon"); icon.addEventListener('mouseup',function(event) { switch(event.button) { case (0) : myClick(); break; case (2) : myContextMenu(); break; default: break; } },false);
みたいな感じ。
ちなみにevent.button==1なのはマウスホイールの真ん中のボタン。