Please note, this is a STATIC archive of website developer.mozilla.org from November 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

panel

panel はあらゆる種類のコンテンツに対応するポップアップです。ウィンドウ装飾は一切持ちません。panel が開くとき、パネルはウィンドウの上に浮き (float)、メインウィンドウの境界の外側へも広がるかもしれません。通常、panel は popup 属性を使って要素に取付けられます。そうすることで、その要素をマウスの左ボタンでクリックして、パネルが表示できるようになります。また openPopup メソッドを使ってスクリプト経由で開くこともできます。

panel は、その外側がクリックされるか、panel の hidePopup メソッドが呼ばれると閉じられます。

警告: panel 内にコンテンツの type を指定した browseriframe を置く場合は、Web ページでマウス操作が正しく動作しません。このバグは バグ 130078 が原因です。正しく表示できるように type 属性を削除したくなるかもしれませんが、この属性を削除してはいけません。削除すると、読み込まれた Web ページが chrome へアクセスできてしまいます。
重要: 自動的に隠れる (Auto-hide) popup ウィンドウは、Firefox 3 では常に最前面ウィンドウとして表示されます。しかし、popup ウィンドウにテキストフィールドがある場合、この振る舞いは IME ユーザにとって深刻なアクセシビリティの問題を抱えています。バグ 433340 をご覧ください (特に、バグのコメント #100 に、自動的に隠れる popup を Firefox 3 で、最前面ウィンドウにしないようにする方法があります)。Firefox 3.5 以降では、自動的に隠れる panel の popup ウィンドウのウインドウレベルはシステムに依存します。Linux におけるデフォルトのウインドウレベルは最前面です。他のプラットフォームでは最前面ではありませんが、ウィンドウのレベルを制御できます。level を参照してください。
属性
ignorekeys, left, level, noautofocus, noautohide, norestorefocus, onpopuphidden, onpopuphiding, onpopupshowing, onpopupshown, position, top
プロパティ
accessibleType, popupBoxObject, popup, state
メソッド
hidePopup, moveTo, openPopup, openPopupAtScreen, sizeTo

以下の例はパネルがラベルに取り付けられる方法を示しています。

<panel id="thepanel">
  <hbox align="start">
    <image src="warning.png"/>
    <vbox>
      <description value="6 件の新着メールがあります。"/>
      <hbox>
        <button label="メールを読む"/>
        <button label="新規メッセージ"/>
      </hbox>
    </vbox>
  </hbox>
</panel>
<description value="6 件の新着メッセージ" popup="thepanel"/>

属性

ignorekeys
型: 論理型
デフォルト値の false の場合、panel を閉じるために ESC キーが使用されます。true の場合、panel を閉じるために ESC キーを使用することはできません。
left
型: 整数型
showPopup メソッドで指定されたポップアップの水平方向の位置を上書きします。
level
型: 下記の値のいずれか一つ
panel をすべてのウィンドウより手前に表示するかどうかを指定します。または、panel が含まれるウィンドウの手前に表示します。この属性が指定されていないときは、popup ウィンドウのレベルはプラットフォームに依存します。Linux のデフォルト値は top です。その他のプラットフォームのデフォルト値は parent です。panel にテキストフィールドが含まれると、IME やオンスクリーンキーボードのポップアップが正しく表示されないため、この属性を設定してはいけません。テキストフィールドが含まれない通常の場合は値に top を設定してください。noautohide 属性の値が true の場合、この level 属性は無視され、ウィンドウレベルは常に parent と同じになります。
  • top: panel は、他のアプリケーションを含む、すべての他のウィンドウの手前に現れます。
  • parent: panel は、panel 自身が含まれるウィンドウの手前に現れ、他のウィンドウより後ろに現れます。
noautofocus
型: 論理型
デフォルト値の false の場合、現在フォーカスされている要素は、ポップアップが開かれるか閉じられるとフォーカスを失います。true の場合はフォーカスは変更されません。
noautohide
型: 論理型
デフォルト値の false の場合、ユーザが panel の外側をクリックするかフォーカスを他のアプリケーションに切り替えると panel が隠されます。true の場合、hidePopup メソッドが呼び出されると panel が閉じられます。
norestorefocus
型: 論理型
デフォルト値の false の場合、panel が隠れている時、キーボードのフォーカスは panel が開いていた時の状態が復元されます。true の場合、フォーカスはリセットされ、フォーカスが panel 内にあってもクリアされます。
onpopuphidden
型: スクリプトコード
このイベントはポップアップが非表示になった時に発生します。
onpopuphiding
型: スクリプトコード
このイベントはポップアップを非表示にしようとしている時に発生します。
onpopupshowing
型: スクリプトコード
このイベントは、ポップアップが開かれる直前にポップアップに送られます。通常、このハンドラはユーザがポップアップの表示を要求したとき、動的にコンテンツを設定するために使用されます。このイベントハンドラから false が返るとポップアップの表示が抑制されます。
onpopupshown
型: スクリプトコード
このイベントはポップアップが表示された後に発生します。ウィンドウが開かれた時に発生する onload イベントと類似しています。
position
型: 下記の値のいずれか一つ
position 属性は、ユーザがクリックした要素に関する popup が現れる位置を決定します。これは、popup をボタンの側に置くことができます。
  • after_start: popup は要素の下側に現れ、その左上隅と要素の左下隅が並びます。これは一般的に、ドロップダウンメニューに使用されます。
  • after_end: popup は要素の下側に現れ、その右上隅と要素の右下隅が並びます。要素と popup の右端が揃います。
  • before_start: popup は要素の上側に現れ、その左下隅と要素の左上隅が並びます。要素と popup の左端が揃います。
  • before_end: popup は要素の上側に現れ、その右下隅と要素の右上隅が並びます。要素と popup の右端が揃います。
  • end_after: popup は要素の右側に現れ、その左下隅と要素の右下隅が並びます。要素と popup の下端が揃います。
  • end_before: popup は要素の右側に現れ、その左上隅と要素の右上隅が並びます。要素と popup の上端が揃います。
  • start_after: popup は要素の左側に現れ、その右下隅と要素の左下隅が並びます。要素と popup の下端が揃います。
  • start_before: popup は要素の左側に現れ、その右上隅と要素の左上隅が並びます。要素と popup の上端が揃います。
  • overlap: popup は要素上に現れ、その左上隅が揃います。
  • at_pointer: popup はマウスポインタと同じ位置に現れます。
  • after_pointer: popup はマウスポインタと同じ水平位置に現れます。垂直位置は要素のすぐ下になります。
top
型: 整数型
showPopup メソッドで指定されたポップアップの垂直方向の位置を上書きします。

プロパティ

accessibleType
型: 整数型
要素の accessibility オブジェクトの種類を示す値。
popupBoxObject
型: nsIPopupBoxObject
この読み取り専用のプロパティは、popup を実装する nsIPopupBoxObject を保持しています。popup 自身を通して関数のすべてを利用できるため、通常、このプロパティを使用する必要はありません。
position
型: 文字列型
position 属性の値の取得と設定。
state
型: 文字列型
popup が開かれているかどうかを示します。このプロパティは読み取り専用です。次の 4 つの値が利用可能です:
  • closed: popup は閉じられており、画面上に表示されていません。
  • open: popup は開かれており、画面上に表示されています。
  • showing: popup を開く要求がされているが、まだ開かれていない状態。この状態は popupshowing イベントの間に起こります。
  • hiding: popup が隠されます。この状態は popuphiding イベントの間に起こります。

メソッド

XUL 要素からの継承
blur, click, doCommand, focus, getElementsByAttribute getElementsByAttributeNS

DOM 要素からの継承
addEventListener(), appendChild(), compareDocumentPosition, dispatchEvent(), getAttribute(), getAttributeNode(), getAttributeNodeNS(), getAttributeNS(), getElementsByTagName(), getElementsByTagNameNS(), getFeature, getUserData, hasAttribute(), hasAttributeNS(), hasAttributes(), hasChildNodes(), insertBefore(), isEqualNode, isSameNode, isSupported(), lookupNamespaceURI, lookupPrefix, normalize(), removeAttribute(), removeAttributeNode(), removeAttributeNS(), removeChild(), removeEventListener(), replaceChild(), setAttribute(), setAttributeNode(), setAttributeNodeNS(), setAttributeNS(), setUserData

hidePopup()
戻り値の型: 戻り値無し
直ちにポップアップを閉じます。
moveTo( x, y )
戻り値の型: 戻り値なし
ポップアップを指定した位置へ移動します。
openPopup( anchor , position , x , y , isContextMenu, attributesOverride )
戻り値の型: 戻り値無し

特定のノードから見た相対的な指定位置にポップアップを開きます。

ポップアップは他のノードにアンカーすることも、自由な位置に開く事もできます。ポップアップをノードにアンカーするには、anchor ノードを指定して、ポップアップをどのように開くかを示す文字列を position に設定します。

position が取り得る値は before_start, before_end, after_start, after_end, start_before, start_after, end_before, end_after, overlap, after_pointer のいずれかです。

anchor ノードはポップアップと同じドキュメント内のものである必要はありません。

引数 attributesOverride が true ならば、ポップアップノードの position 属性が引数 position の値を上書きします。attributesOverride が false ならば、position 属性は引数 position が空の場合のみ使用されます。

アンカーされたポップアップでは、引数 x と y はアンカーされた位置からのオフセットとして使用されます。この数値は CSS の pixel 単位で計測されます。

アンカーされないポップアップは、anchor ノードとして null を指定することで作成できます。このポップアップは、ポップアップノードを含むドキュメントの表示領域からの、x と y で指定された相対位置に表示されます。この場合、引数 position と attributesOverride は無視されます。

引数 isContextMenu は、コンテキストメニューの場合は true に、それ以外の場合は false にしてください。この引数はメニュー項目のハイライトに影響します。コンテキストメニューが開かれている間は、それ以前に開かれたメニューはハイライトされず、メニュー内の項目を実行できません。

openPopupAtScreen( x, y, isContextMenu )
戻り値の型: 戻り値無し

xy で指定された画面上の特定の位置にポップアップを開きます。ポップアップが画面からはみ出るように指定された場合には位置が調整されます。座標 xy は CSS の pixel 単位で計測されます。

sizeTo( width, height )
戻り値の型: 戻り値無し
ポップアップの現在の大きさを指定した width (幅) と height (高さ) に変更します。

インタフェース
nsIAccessibleProvider, nsIDOMXULPopupElement

ドキュメントのタグと貢献者

 このページの貢献者: Marsf, Masayuki, Mgjbot, Taken
 最終更新者: Marsf,