Javascript - jobb egérgomb tiltása 1 alkalommal
2019-07-27T14:46:40+02:00
2019-07-27T15:21:20+02:00
2022-08-11T13:55:30+02:00
Pintér István
Sziasztok!

Egy honlapra szeretnék elhelyezni egy easter egg-et, aminek úgy kellene működnie, hogy ha a felhasználó jobb egérgombbal kattint az oldalon, akkor alertbe (később ajax-ból meghívott modal-ba) kap egy üzenetet.
Fontos, hogy csak az első jobb klikkes event-re kapja az üzenetet. Futtatás után ha újra kattint (jobb egérgombbal), akkor a hagyományos contextmenu fogadja.
Szívesen adom a pontot segítőmnek, mert én agygörcsöt kapok már tőle :)

var alertText = "Csak egyszer lesz tiltva"; var executed = false; var valami = (function() { return function() { if (!executed) { document.addEventListener("contextmenu", function (e) { e.preventDefault(); alert(alertText); executed = true; }); } }; })(); valami();
Előre is köszönöm!
Mutasd a teljes hozzászólást!
Hali!

Az eseménykezelő regisztrálásakor add meg opcióként a once-ot igaznak. Pl.: 
var alertText = "Csak egyszer lesz tiltva"; function contextmenuHandlerOnce(ev) { ev.preventDefault(); alert(alertText); } var valami = (function() { return function() { document.addEventListener("contextmenu", contextmenuHandlerOnce, { once: true }); } })(); valami();
Megjegyzés: ugye tudod, hogy a contextmenu esemény nem csak jobb-klikkre jön? 

Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd