Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] Prawy przycisk myszy i addEventListener
Forum PHP.pl > Forum > Przedszkole
webdice
Witam,

mam mały problem z zablokowaniem prawego przycisku myszy. Gdy korzystam z document.onclick, wszystko jest w porządku, sytuacja zmienia się przy skorzystaniu z document.addEventListener (alert zostanie wyświetlony, ale pojawia się menu kontekstowe). Poniżej przedstawiam przykładowy kod.

Kod
window.onload = function()
{
  var fn = function (event)
  {
    if (navigator.appName == 'Netscape' && event.which == 3)
    {
      alert ('OK');
      return false;
    }
  }

  //document.onclick = fn;
  document.addEventListener( 'click', fn, false );
}
wookieb
Kod
window.onload = function()
{
    var fn = function (event)
    {
        event.preventDefault();
        event.stopPropagation();
        return false;
    }

  //document.onclick = fn;
  document.addEventListener( 'click', fn, false );
}
webdice
Oczywiście przy Internet Explorer napotkałem na błąd. Znalazłem odpowiednik dla preventDefault ale odmawia posłuszeństwa dla zdarzenia onclick, dodam że dla onmousedown wszystko jest w porządku.

Kod
window.onload = function()
{
  var fn = function (event)
  {
    event.returnValue = false;
    alert (event.button);
  }

  document.attachEvent( 'onclick', fn);
}
wookieb
Bo dla ie wlasnie trzeba to zrobic zdarzeniem onmousedown wiec mozesz zrobic cos takiego. click dla ff, onmousedown dla ie i wywoluja ta sama funkcje.
webdice
Znalazłem lepsze rozwiązanie.

Kod
document.attachEvent( 'oncontextmenu', function()
{
  return false;
});


Później bez problemów można korzystać ze zdarzenia onclick.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.