Dodawanie kliknięcia myszy na dowolny inny klawisz

Dodawanie kliknięcia myszy na dowolny inny klawisz
Szymon Stępniak
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 19
0

Witam programistów.
Chciałbym aby na mojego diva dało się kliknąć ale nie przyciskiem myszy tylko innym klawiszem klawiatury. To znaczy, że po najechaniu i kliknięciu na element da się wywołać pewną funkcję ale tylko pewnym klawiszem (lub klawiszami) klawiatury.

katakrowa
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Chorzów
  • Postów: 1670
0

musisz odpowiednio oprogramować zdarzenia:

  • onmouseover
  • onmouseout
  • onkeypress

czyli onkeypress wykonuje akcję tylko gdy wcześniej na obiekcie zaszło zdarzenie onmouseover i nie zaszło jeszcze onmouseout.

Szymon Stępniak
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 19
0

A byłbyś w stanie napisać mi kod jak to mniej więcej powinno wyglądać?

złoty
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 110
0

Tak gwoli ścisłości, terminy podane przez @katakrowa to nazwy właściwości (atrybutów), przypisujesz do nich obsługę np tak:

Kopiuj
<div onmouseover='jakasFunkcja()'></div>

Zdarzenia to odpowiednio mouseover, mouseout i keypress.
Do rzeczy: mouseover jest zgłaszany, gdy myszka najedzie na dany element, mouseout - gdy go opuści. Masz więc dwa narzędzia, którymi możesz określić stan danego elementu - czy jest 'najechany' przez myszkę, czy nie.

Kopiuj
var isHovered = false;
el.addEventListener('mouseover', (event) => {
    isHovered = true;
});

el.addEventListener('mouseout', (event) => {
    isHovered = false;
});

keypress jest zgłaszany, gdy użytkownik naciśnie klawisz. Możesz zapiąć się na to zdarzenie na poziomie document, aby mieć zgłaszane wszystkie tego typu zdarzenia na stronie (niezależnie gdzie jest focus). Teraz wystarczy to połączyć z powyższym:

Kopiuj
document.addEventListener('keypress', (event) => {
    if (event.key === 'a' && isHovered) {
        console.log('Nacisnieto a w obrebie elementu');
    }
});

Tak na przyszłość:

  1. Googluj, gdy dostaniesz podpowiedź, a nie wiesz jak tego użyć. W internecie jest masa przykładów użycia tych eventów i nie tylko.
  2. Wrzucaj zawsze jakiś zalążek rozwiązania. O wiele chętniej pomaga się osobie, która już zaczęła samodzielnie coś robić w danym kierunku, ale czegoś jej brakuje.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.