2010-12-15 20 views

Odpowiedz

27

Jedna opcja to replace the context menu z własnym odpowiednikiem aktywowanym przez JavaScript.

Firefox zaimplementował menu element, w którym można dodać do istniejącego menu kontekstowego. Został również zaimplementowany w Chrome za flagą. Niestety ta funkcja została zgłoszona jako removed from the W3C standard z powodu braku zainteresowania implementacją. Aby uzyskać element za pomocą tego menu kontekstowego, dodaj atrybut Tutaj widać, że mymenu pasuje do atrybutu elementu menu.

Source

Demo

+17

W 2016, funkcja ta jest nadal obsługiwana tylko przez Firefox :( – Grief

+6

w 2017 funkcja ta jest nadal obsługiwana tylko przez Firefox :( – faiwer

-1

Nie można zmodyfikować aplikację klienta za pomocą strony internetowej. Gdyby to było możliwe, pomyśl tylko, jak hakerzy mogliby wykorzystać nasz komputer.

Co można zrobić, to zdefiniować własne menu niestandardowe, a użytkownik kliknie prawym przyciskiem myszy.

Sprawdź to jquery przykład wtyczki: http://labs.abeautifulsite.net/archived/jquery-contextMenu/demo/

+5

Można zapytać naciśnięcia klawiszy i zdarzenia myszy i zastąpić je własnymi funkcjami, to dlaczego kontekst menu być różne? – wubbewubbewubbe

+0

@wubbewubbewubbe, OP chce dodać do menu kontekstowego przeglądarki Czy przeczytałeś o tym? A przykład jest linkiem do, robi dokładnie to, co mówi twój komentarz, więc downvoters nawet nie czytają pytania lub odpowiedź już teraz? A co ze względu na Twój komentarz? "Jak zabawne!" – Starx

34

na nowoczesnych przeglądarek można manipulować wbudowanego menu kontekstowego tak:

<menu type="context" id="supermenu"> 
<menuitem label="trial" onclick="alert('Smile please')"></menuitem> 
    <menuitem label="rotate" onclick="rotate()" icon="http://cdn1.iconfinder.com/data/icons/silk2/arrow_rotate_clockwise.png"></menuitem> 
    <menuitem label="resize" onclick="resize()" icon="http://cdn3.iconfinder.com/data/icons/fugue/icon/image-resize.png"></menuitem> 
    <menu label="share"> 
    <menuitem label="twitter" onclick="alert('foo')"></menuitem> 
    <menuitem label="facebook" onclick="alert('bar')"></menuitem> 
    </menu> 
</menu> 

<a href='#' contextmenu="supermenu">Right click me</a> 

Dla dalszego czytania: http://www.w3.org/wiki/HTML/Elements/menu

demo: https://bug617528.bugzilla.mozilla.org/attachment.cgi?id=554309

+0

To jest naprawdę miłe. Czy wiesz, czy można go również zastosować w Chrome? – wubbewubbewubbe

+0

Szukałem, myślę, że nie może (przynajmniej na razie) – wubbewubbewubbe

+10

Chrome to nowy IE6 ... na razie wiele rzeczy s nie są wspierane -> http://caniuse.com/#search=menu – vsync

Powiązane problemy