Jak wywołać zdarzenie ? wyświetlenia menu kontekstowego
Moderator: Pomocy?!
Jak wywołać zdarzenie ? wyświetlenia menu kontekstowego
Przeglądarka: Opera/9.20 (Windows NT 5.1; U; pl)
Chciał bym sie dowiedzie, jak można wywołać zdarzenie które wyświetli menu kontekstowe ?
Jeśli sie nie mylę, to to "popupshowing" zdarzenie za to odpowiada tylko jak samemu go wywołać poprzez jakieś inne zdarzenie ? np. onclick
Z Góry Dziekuję.
Pozdrawiam.
- Artur B.
Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6
Prawidłowym sposobem pokazania popupa jest skorzystanie z metody showPopup.
- Ancestor
- Moderator
- Posty: 1799
- Z nami od: 11 czerwca 2005, 20:25
- Lokalizacja: Sopot
Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.7) Gecko/20070914 Firefox/2.0.0.7
Też chciałem coś takiego zrobić, ale niestety mi nie działa
Dobrze jest ten kod zrobiony ?
- Kod: Zaznacz cały
gBrowser.showPopup(document.getElementById("contentAreaContextMenu"), e.screenX + 6, e.screenY + 6, "context", "bottomright","bottomright");
- pack
Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.7) Gecko/20070914 Firefox/2.0.0.7
pack pisze:Witam.
Też chciałem coś takiego zrobić, ale niestety mi nie działa :(
Dobrze jest ten kod zrobiony ?
- Kod: Zaznacz cały
gBrowser.showPopup(document.getElementById("contentAreaContextMenu"), e.screenX + 6, e.screenY + 6, "context", "bottomright","bottomright");
Nie, pomieszałeś argumenty. showPopup jest metodą przypisaną do elementu menupupup.
- Kod: Zaznacz cały
var menupoup = document.getElementById("contentAreaContextMenu");
menupopup.showPopup(gBrowser, ....
- Ancestor
- Moderator
- Posty: 1799
- Z nami od: 11 czerwca 2005, 20:25
- Lokalizacja: Sopot
Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.7) Gecko/20070914 Firefox/2.0.0.7
To co powinno być w pierwszym parametrze metody showPopup() ? jaki element w przypadku kiedy chcę wyświetlić główne menu kontekstowe ?.
Czyli:
- Kod: Zaznacz cały
var menu = document.getElementById("contentAreaContextMenu"); // to chcę wyświetlić;
menu.showPopup( /* co w takim razie powinienem tutaj dać ? */,
e.screenX + 6, e.screenY + 6, "context", "bottomright","bottomright");
Dziękuję.
- pack
Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.7) Gecko/20070914 Firefox/2.0.0.7
There are two ways of specifying where the popup appears, either at a specific screen position, or relative to some element in the window. If either x or y are set to values, the popup will appear at the screen coordinate (x,y). If x and y are -1, the popup will be positioned relative to the element specified as the first argument.
Miejsce, w którym ma zostać otwarty popup określasz przez przez podanie albo współrzędnych x i y albo elementu. W tym drugim przypadku jako x i y podajesz -1. Pierwszym parametrem jest więc element, względem którego ma zostać otwarty popup - w twoim przypadku prawdopodobnie jakiś element na stronie.
- Ancestor
- Moderator
- Posty: 1799
- Z nami od: 11 czerwca 2005, 20:25
- Lokalizacja: Sopot
Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.7) Gecko/20070914 Firefox/2.0.0.7
Ale działa do momentu kliknięcia PPM (wyświetlenie menu kontekstowego), po tym kliknięciu moje menu kontekstowe wyświetla się w innej pozycji ;/ ale to jest chyba bug bo znalazłem to:
https://bugzilla.mozilla.org/show_bug.cgi?id=195191
Szkoda...
- pack
Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.7) Gecko/20070914 Firefox/2.0.0.7
- Ancestor
- Moderator
- Posty: 1799
- Z nami od: 11 czerwca 2005, 20:25
- Lokalizacja: Sopot
Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.7) Gecko/20070914 Firefox/2.0.0.7
2. Tutaj funkcja która to zdarzenie obsługuje
- Kod: Zaznacz cały
function dblClick(e) {
var contextMenu = document.getElementById("contentAreaContextMenu")
contextMenu.showPopup(contextMenu, e.screenX + 6, e.screenY + 6, "context", "bottomleft","topleft");
}
3. Uruchamiam FF, klikam x2 LPM (czyli dblclick) i jest dobrze, czyli menu kontekstowe wyświetla się w tym miejscu, w którym kliknąłem 2x:
4. Klikam PPM gdziekolwiek
5. Ponownie klikam 2x LPM i menu kontekstowe teraz się pojawia w takiej pozycji (kliknąłem tam gdzie jest kursor myszy rzecz jasna):
6. Ponowne uruchomienie FF dopiero to naprawia - do momentu kliknięcia PPM.
Dzięki.
Pozdrawiam.
- pack
Wróć do Programowanie z użyciem technologii Mozilli
Kto jest online
Zarejestrowani użytkownicy: Baidu [Spider], Google [Bot]