Eksperymentuję z elementem ContextMenu HTML5 w najnowszej wersji Firefoksa (tylko przeglądarka, która obecnie to obsługuje). Po kliknięciu elementu menu z menu kontekstowego Jak mogę uzyskać dostęp do oryginalnego elementu, który został kliknięty, gdy menu zostało spawane?

Case użycia wyświetliby listę elementów i chcesz, aby użytkownik wykonał akcję na konkretnym elemencie. Po kliknięciu akcji z menu potrzebujesz sposobu określenia, który element na liście został pierwotnie kliknięty, aby wyrazić menu.

Oto jsfiddle (użyj Firefoksa do testowania)

3
berg 27 sierpień 2012, 05:37

4 odpowiedzi

Najlepsza odpowiedź

Wystarczy zapisać gdzieś jak this.cte = arguments[0];, a następnie odzyskaj go później document.getElementById('testitem').cte

http://jsfiddle.net/galmp/4/

2
Musa 27 sierpień 2012, 01:47

Byłem w tej samej lub bardzo podobnej sytuacji. Mam menu kontekstowe związane z <tr> w nagłówku stołu. Gdy użytkownik kliknie określony element w kontekstowymenu, wewnątrz obsługiwania zdarzeń Click, którego potrzebowałem, aby określić, który <th> Wskaźnik myszy został kliknięty, gdy kliknął element <menuitem>.

Rozwiązanie: Dokument. Dokument odnosi się do dokładnie elementu, którego potrzebuję. Dzięki:

1
Community 23 maj 2017, 12:32

Możesz użyć wtyczki jQuery ContextMenu, która jest niezależna od przeglądarki. W szczególności następujący przykład: http://medialize.github.io/jquery-Contextmenu/demo /on-dom-Element.html. Pokazuje, jak zidentyfikować element wyzwalający Dom.

0
Leo 4 maj 2014, 20:58

Słowo kluczowe this działa jak w każdym razie.

-1
Paul S. 27 sierpień 2012, 01:47