menulist

Element, który stosujemy w przypadku rozwijanej listy wyboru. Użytkownik może zaznaczyć jedną z pozycji wyświetlanych w elemencie menulist. Aktualnie zaznaczona pozycja zostanie wyświetlona na elemencie menulist. Aby utworzyć listę rozwijaną, umieść element menupopup wewnątrz menulist składający się z elementów wyboru menuitem.

Dodatkowe informacje są dostępne w kursie XUL.

Atrybuty
accesskey, crop, disableautoselect, disabled, editable, focused, image, label, open, preference, readonly, sizetopopup, src, tabindex, value
Własności
accessible, crop, description, disableautoselect, disabled, editor, inputField, label, menuBoxObject, menupopup, open, selectedIndex, selectedItem, src, tabIndex, value
Metody
appendItem, insertItemAt, removeAllItems, removeItemAt, select

Przykłady

  <menulist>  
	<menupopup>
	  <menuitem label="Opcja 1" value="1"/>
	  <menuitem label="Opcja 2" value="2"/>
	  <menuitem label="Opcja 3" value="3"/>
	  <menuitem label="Opcja 4" value="4"/>
	</menupopup>
  </menulist>                            

Atrybuty

accesskey
Typ: znak
Powinien być ustawiony na literę, która zostanie zastosowana jako klawisz dostępu. Litera ta powinna być jedną z liter, które są wyświetlane w etykiecie tekstowej (label) dla elementu.


Przykład

grafika:XUL_ref_accesskey_attr.png
<vbox>	
  <label value="Enter Name" accesskey="e" control="myName"/>
  <textbox id="myName"/>
  <button label="Cancel" accesskey="n"/>
  <button label="Ok" accesskey="O"/>
</vbox>

Zobacz także

Atrybut label, atrybut acceltext



crop
Typ: jedna z poniższych wartości
Jeśli etykieta elementu jest zbyt duża by zmieścić się w danym miejscu, to jej tekst zostanie skrócony po stronie określonej przy pomocy atrybutu crop. Wycięty fragment tekstu zostanie zastąpiony wielokropkiem. Jeśli kierunek pudełka jest określony w lewą stronę, to skrócenie tekstu nastąpi w tym samym kierunku (czyli z lewej strony):
  • start: Tekst będzie skrócony z lewej strony.
  • end: Tekst będzie skrócony z prawej strony.
  • left: Tekst będzie skrócony z lewej strony.
  • right: Tekst będzie skrócony z prawej strony.
  • center: Tekst będzie skrócony w środku, pokazując oba końce: początek i koniec normalnego tekstu.
  • none: Tekst nie będzie skrócony przy zastosowaniu wielokropka. Jednakże, tekst skrócony zostanie po prostu obcięty, jeśli będzie za duży. Strona skrócenia owego tekstu zależy od rozmieszczenia tekstu określonego w arkuszu stylów CSS.
 menupopup > menuitem, menupopup > menu { max-width: none; }



disableautoselect
Typ: boolean
Jeśli ten atrybut jest true lub pominięty, zaznaczona pozycja w menu będzie aktualizowana dopasowując się do tego co użytkownik wprowadzi w polu tekstowym. Jeśli tekst nie dopasuje się do jakiejkolwiek pozycji na liście, to zaznaczenie zostanie wyczyszczone. Jeśli ten atrybut jest false, zaznaczenie nigdy nie zostanie zaktualizowane do dopasowania pola tekstowego. Ten atrybut zastosowany jest tylko do menulist, który jest zdolny do edycji.


disabled
Typ: boolean
Określa, czy element jest wyłączony. Jeśli atrybut ten ma wartość true, to element będzie wyłączony. Wyłączone elementy zazwyczaj są wyszarzone. Jeśli element jest wyłączony, nie odpowiada na czynności użytkownika, nie może zostać na niego ustawiony focus, a zdarzenie command nie zostanie wywołane.
grafika:XUL_ref_attr_disabled.png
<!-- Pole wyboru włącza/wyłącza przycisk -->
<checkbox label="Enable button" 
    onclick="document.getElementById('buttRemove').disabled = this.checked"/>
<button id="buttRemove" label="Remove All" disabled="true"/>
editable
Typ: boolean
Sygnalizuje, która wartość menulist może być modyfikowana poprzez wpis bezpośrednio do wartości pola. This is rendered as a textbox with a drop-down arrow beside it. The user may enter text into the textbox or select one of the choices by clicking from the drop-down. If used in a tree, editable allows the content to be changed, especially useful when type="checkbox".
focused
Typ: boolean
Ten atrybut jest ustawiony na true, jeśli element jest aktywny (focused).


image
Typ: adres URL obrazka
Adres URL obrazka do wyświetlenia na elemencie. Jeśli ten atrybut zostanie opuszczony, to żaden obrazek nie zostanie wyświetlony. Pozycja obrazka jest określona przez atrybuty dir i orient.
label
Typ: string
Etykieta, która zostanie wyświetlona na elemencie. Jeśli zostanie on usunięty, to żaden tekst nie zostanie wyświetlony.
open
Typ: boolean
Dla przycisków o type ustawionym na menu, atrybut open jest ustawiany na true, kiedy menu jest otwarte. Atrybut open nie jest obecny, jeśli menu jest zamknięte.



preference
Typ: id elementu
Łączy dany element z odpowiadającym mu elementem preference. Atrybut ten ma skutek tylko wewnątrz okna prefwindow. Wartość opcji (z elementu preference) zostanie zaktualizowana zgodnie z wartością własności value tego elementu.



readonly
Typ: boolean
Jeśli ustawiony jest na true, to użytkownik nie będzie mógł zmienić wartości elementu. Jednakże wartość wciąż może zostać zmodyfikowana poprzez skrypt.
sizetopopup
Typ: jedna z poniższych wartości
Indicates how the menu width and the menupopup width are determined. If the sizetopopup attribute is left out or set to none, the menu will be its preferred width and the popup may extend outside of this width, unaffected by the maximum width of the menu itself.
  • none: Szerokość okienka popup nie będzie ograniczało rozmiaru menu.
  • always: Jeśli jest ustawiony na always, długość menu będzie taka sama jaka jest potrzebna dla elementu menupopup. Jeśli menu posiada maksymalna szerokość, to popup będzie miał tą samą szerokość.
src
Typ: URL
Adres URL zawartości do wyświetlenia w elemencie.

 

tabindex
Typ: integer
Porządek dla przełączania elementów klawiszem Tab. Elementy o wyższym tabindex umieszczane są w dalszej części sekwencji przełączania.
value
Typ: string
Atrybut łańcucha znaków pozwalający na współpracę wartości danych z elementem. Nie jest stosowany dla określenia jakiegoś konkretnego celu, lecz można go wykorzystać w skrypcie do własnego użytku.

Własności

accessible
Typ: nsIAccessible
Zwraca obiekt dostępności dla elementu.
crop
Typ: string
Pobiera i ustawia wartość atrybutu crop.
description
Typ: string
Ustawia opis aktualnie zaznaczonej pozycji menuitem.
disableautoselect
Typ: boolean
Pobiera i ustawia wartość atrybutu disableautoselect.
disabled
Typ: boolean
Pobiera i ustawia wartość atrybutu disabled.
editor
Typ: nsIEditor
Odwołanie do nsIEditor dla edytowanego tekstu. Własność tylko do odczytu.
inputField
Typ: element textbox
Odniesienie elementu textbox stosuje się dla list edycji menu. Ta własność jest tylko do odczytu i nakłada się tylko do montażu w menulist.
label
Typ: string
Pobiera i ustawia wartość atrybutu label.


menuBoxObject
Typ: nsIMenuBoxObject
Referencja do nsIMenuBoxObject, który implementuje menu.
menupopup
Typ: element menupopup
Referencja do menupopup stosowany przez menulist. Własność ta jest tylko do odczytu.
open
Typ: boolean
Pobiera i ustawia wartość atrybutu open.
selectedIndex
Typ: integer
Zwraca indeks aktualnie zaznaczonej pozycji. Można zaznaczyć pozycję przypisując jej numer indeksu do własności. Przydzielając -1 do tej własności, wszystkie pozycje zostaną odznaczone.
selectedItem
Typ: element
Podtrzymuje aktualnie zaznaczoną pozycję. Jeśli nie ma zaznaczonych aktualnie pozycji, to jej wartość równa będzie null. Możemy zaznaczyć pozycję poprzez ustawienie tej wartości. Zmiana zdarzenia będzie przesyłana do zaznaczonej pozycji, kiedy zmieniona zostanie jedna z tych własności, własność selectedIndex lub zmieniona będzie przez użytkownika.
src
Typ: URL
Pobiera i ustawia wartość atrybutu src.
tabIndex
Typ: integer
Pobiera i ustawia wartość atrybutu tabindex.
value
Typ: string
Pobiera i ustawia wartość atrybutu value.

Metody

Dziedziczy z elementu XUL
blur, click, doCommand, focus, getElementsByAttribute getElementsByAttributeNS

Dziedziczy z elementu DOM
addEventListener(), appendChild(), dispatchEvent(), getAttribute(), getAttributeNode(), getAttributeNodeNS(), getAttributeNS(), getElementsByTagName(), getElementsByTagNameNS(), hasAttribute(), hasAttributeNS(), hasAttributes(), hasChildNodes(), insertBefore(), isSupported(), normalize(), removeAttribute(), removeAttributeNode(), removeAttributeNS(), removeChild(), removeEventListener(), replaceChild(), setAttribute(), setAttributeNode(), setAttributeNodeNS(), setAttributeNS()

appendItem( label, value )
Zwraca typ: element
Tworzy nową pozycję i dodaje ją na koniec istniejącej listy pozycji. Opcjonalnie posiada ustawioną wartość. Funkcja zwraca nowo utworzony element.
insertItemAt( index, label, value )
Zwraca typ: element
Ta metoda tworzy nowy element listy i umieszcza go w określonej pozycji. Opcjonalnie można ustawić jego wartość. Nowy element jest zwracany.
removeAllItems()
Zwraca typ: nie zwraca wartości
Usuwa wszystkie pozycje w menu.


removeItemAt( index )
Zwraca typ: element
Usuwa pozycję potomną w elemencie o określonym indeksie. Metoda zwraca usuniętą pozycję.
select()
Zwraca typ: nie zwraca wartości
Zaznacza cały tekst w polu tekstowym menulist. Ta metoda nakłada się tylko do list menu editable.

Podobne

Elementy
menu, menubar, menuitem, menupopup, menuseparator
Interfejsy
nsIAccessibleProvider, nsIDOMXULMenuListElement


Autorzy i etykiety dokumentu

Autorzy tej strony: Ptak82, lmorchard, Mgjbot
Ostatnia aktualizacja: lmorchard,