[JS] event cancellen

Pagina: 1
Acties:

  • B-Man
  • Registratie: Februari 2000
  • Niet online
Hoe kan ik een event afvangen, cancellen ?

Ik wil bijvoorbeeld zodra een gebruiker met de rechtermuisknop ergens klikt een pop-up menutje tonen (dit gaat perfect), maar dan vervolgens niet het standaard popup menu van IE laten zien... Daarom nu maar een normaal onClick event (linker muisknop), maar wil eigenlijk gewoon de rechter muisknop ervoor gebruiken.

Wie o Wie ?

Verwijderd

code:
1
return false;

Klaar :)

  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 10-11-2025

OkkE

CSS influencer :+

ff op www.hotscripts.com kijken naar een "noRightClick" script, en dan de Alert veranderen in een showLayer.

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


Verwijderd

Op maandag 10 september 2001 16:14 schreef Razor_Blade het volgende:
code:
1
return false;

Klaar :)
Hej! kan iemand mij uitleggen waar dat return voor staat ? of waar kan ik dat ergens vindeh ? Ik script beswel veel in javascript maar heb nog noojt niet return true/false gebruikt ..

Verwijderd

return = geef iets terug

true = ok
false = fout

dus als er een event is dat iets triggert maar toch niet mag gebeuren dan zet je er ff return false bij..

  • 2
  • Registratie: November 2000
  • Laatst online: 31-03 13:52

2

Naja min fo meer; je moet je voorstellen dat als je in je code een functie aanroept, die iets returnt aan het eind van zijn/haar opdracht. Standaard geeft iedere functie true of 1, maar als je wat hij returnt ergens specificeert als false dan geeft hij 0 en stopt hij met zijn/haar opdracht. Misschien ken je het wel uit form-validate scriptjes.
code:
1
2
3
4
5
6
7
8
9
10
11
function checkForm() {
  if(!allesingevuld) {
    alert("Je bent iets vergeten");

    return false;

  }
  else {
    document.formpje.submit();
  }
}

  • B-Man
  • Registratie: Februari 2000
  • Niet online
Dat is dus het probleem: "return false" cancelt het event niet. Ik heb eens wat gelezen op MSDN, en voor IE is het zo dat een event naar boven "bubbelt", dus vanaf het object waaraan het event verbonden is, omhoog in de object hierarchie.

Ik zou willen dat het zo simpel was als "return false", maar dat is het in IE blijkbaar niet. Ik moet er wel bij vermelden dat ik events probeer af te vangen waar in IE standaardfunctionaliteit voor bestaat (F5/reload, back, next, druk op enter toets).

Zo wil ik bijvoorbeeld F5 afvangen, en dan niet de gehele pagina reloaden, maar slechts een IFRAME...

F5 is af te vangen met onKeyDown, maar niet te cancellen geloof ik.

  • B-Man
  • Registratie: Februari 2000
  • Niet online
Op maandag 10 september 2001 16:15 schreef OkkE het volgende:
ff op www.hotscripts.com kijken naar een "noRightClick" script, en dan de Alert veranderen in een showLayer.
Het lijkt erop dat een standaard IE reactie niet plaatsvind zodra er een alert-box wordt aangeroepen... Dit is juist het probleem, ik wil geen alertbox weergeven, maar in js code een ander frame reloaden, ZONDER dat de hele pagina opnieuw wordt geladen...

Verwijderd

iets als: event.cancelBubble = true;

Verwijderd

even tussendoor..
2:
(..) je moet je voorstellen dat als je in je code een functie aanroept, die iets returnt aan het eind van zijn/haar opdracht. Standaard geeft iedere functie true of 1, maar als je wat hij returnt ergens specificeert als false dan geeft hij 0 en stopt hij met zijn/haar opdracht. Misschien ken je het wel uit form-validate scriptjes.
(..)
Tizzwat:
return = geef iets terug
true = ok
false = fout

dus als er een event is dat iets triggert maar toch niet mag gebeuren dan zet je er ff return false bij..
okj .. thanks voor de uitleg .. weer wat geleerd :)
Pagina: 1