Now browsing the archives for 3月, 2007.

ポップアップとツールチップの仕様がOSによって違う (1)

ポップアップとツールチップの仕様が Windows と Linux で色々と違いがあって悩ましい。

まず、 <popup> と <tooltip> 要素内に <button> や <menuitem> などのクリックが可能な要素をいくつか配置する。次に、それぞれを showPopup(event.target, -1, -1, type, "bottomleft", "topleft") などとやってツールチップとして表示させる。
すると、 Linux では <button> も <menuitem> も問題なくクリック可能である。多分どんな要素に対してもマウスクリックイベントが伝わりそうな雰囲気。
しかし、 Windows では <button> をクリックしようとしても、何か透明な壁にさえぎられているかのようにクリックできない。なぜか <menuitem> だけはこの壁をすり抜けてクリックすることができる。これは憶測だが、この透明な壁によるマウスクリックイベントの奪取は DOM のレイヤーよりも上で行われているため、 キャプチャフェーズに対するイベントリスナをセットしたりしても、一向にクリックイベントを発生させることができない。

テストケース

Mac ではどうなるか知らん。情報求む!

TOP

Software Design 2007年4月号

Software Design 2007年4月号

Software Design 2007年4月号
「Firefox拡張機能開発チュートリアル」の5章「Firefox拡張機能を作ってみよう!」を執筆しました。
現在発売中ですので、拡張開発を始めようとしている方は参考にしてください。

使用したソースコードはこちらで入手可能です。

TOP

XBL:XBL 1.0 Reference:Elements – MDC

XBL:XBL 1.0 Reference:Elements – MDC の和訳が完了。のべ6時間くらいかかった。
以下に意味がさっぱりわからん場所をメモしておきます。わかる方は補完よろしくお願いします。

  • bindings 要素の解説
    (explicitly or inherited)
    →勘+意訳「そのバインディングが継承されたものかそうでないかに関わらず」
  • bindings 要素の注意
    URI in namespace declarations is an opaque string used to uniquely identify the namespace. It doesn’t have to (and often it doesn’t) point to some actual schema or a namespace-related resource.
    →難しい…
  • children 要素の解説
    Only immediate children are matched against the selector.
    →children 要素直下にある要素だけが includes 属性とのマッチングが行われるということ?
  • implementation 要素の解説
    For example, in JavaScript the value of this attribute represents the name of the corresponding class that is constructed for the implementation.
    →勘で和訳「例えば JavaScript では、この属性の値が、その実装のために生成されたクラス名に対応します。」

TOP

Bug 373518 – event.relatedTarget is never set when leaving popup

mouseover イベントの event.relatedTarget によってマウスがどこから来たか調べたり、 mouseout イベントの event.relatedTarget によってマウスがどこへ行くのかを調べることができる。ところが Firefox 3.0a3pre で試したところ、 popup 要素上で発生した mouseover/mouseout イベントの relatedTarget が null であるため、マウスがポップアップを離れてどこへ行ったのかを判別することができないという問題が発生した。 Firefox 2 では問題なく動作するので、おかしいなと思い Bugzilla へ登録しておいた。
Bug 373518 – event.relatedTarget is never set when leaving popup

ついでに MDC に DOM:event:Comparison of Event Targets – MDC という未完成記事があったので、 mouseover/mouseout に対する target と relatedTarget の違いについて加筆しておいた。

TOP