JS: custom events met mootools

Door Toby hinloopen, 18 jaar geleden, 7.284x bekeken

Een kleine tutorial om met behulp van de mootools event-handler eigen events (gebeurtenissen) te maken op eigen objecten.

Gesponsorde koppelingen

Inhoudsopgave

  1. De Tutorial

 

Er zijn 13 reacties op 'Js custom events met mootools'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Arian Stolwijk
Arian Stolwijk
18 jaar geleden
 
0 +1 -0 -1
Mooi beschreven! Maar hoezo zou je, als je toch Mootools gebruikt, ook niet meteen het class systeem van Mootools gebruiken?
Toby hinloopen
toby hinloopen
18 jaar geleden
 
0 +1 -0 -1
@ Arian:
ik lees een halve zin, ik ga er vanuit dat er "Maar hoezo zou je, als je toch Mootools gebruikt, ook niet meteen het class systeem van Mootools gebruiken?"

en mijn antwoord daarop is:
welk class systeem?
Iltar van der berg
iltar van der berg
18 jaar geleden
 
0 +1 -0 -1
Mooie tutorial, maar zou je er een globale tutorial van kunnen maken die bijvoorbeeld ook JQuery uitleg geeft? Ik zou deze code namelijk in JQuery wel eens willen zien.
Arian Stolwijk
Arian Stolwijk
18 jaar geleden
 
0 +1 -0 -1
@toby hinloopen:

Deze: http://www.mootools.net/docs/core/Class/Class

Zo'n beetje iedereen die classes/plugins voor mootools maakt gebruikt dat (kijk hier maar eens: http://www.mooforum.net/scripts12/)

Als je van FireEvent gebruik wilt maken, dan moet je dat ook gelijk meenemen in je 'Mootools Build' (http://www.mootools.net/core) omdat FireEvent onder Class.Extras valt en die afhankelijk is van Class.
Toby hinloopen
toby hinloopen
18 jaar geleden
 
0 +1 -0 -1
@arjan:
owke, bedankt voor de info :P
Zal het ff doornemen

Ben nog redelijk nieuw met mootools.

edit:
ik zie niet echt extreme voordelen over die class-class...
Wat zijn nou precies de voordelen ervan?

@iltar:
ik ken jQuery niet echt...
ik word niet veel wijzer uit die source-code van jQuery. Bij mootools snap ik de sourcecode tenminste prima waardoor ik het lekker simpel kan aanpassen als iets me niet bevalt :P
Pim Vernooij
Pim Vernooij
18 jaar geleden
 
0 +1 -0 -1
Leuke tutorial! Alleen vind ik de methode die je hebt gebruikt om om het scope probleem heen te werken niet zo mooi (de root var). MooTools heeft daar namelijk z'n eigen functie voor!:

Jij doet:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
var root = this
abc.def = function( evt ) {
alert (root.value);
}

?>


Dit kan ook op deze manier:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
abc.def = function( evt ) {
alert( this.value );
}.
bind( this );
?>


Het event target, wat normaal 'this' zou zijn, kan je ophalen via evt.target.

En over je comment hierboven: het is best evil om in de source van mootools wat aan te passen 'als het je niet bevalt'; bij een update van mootools zullen je scripts niet meer werken en hetzelfde geldt als anderen jouw script gaan gebruiken.
Toby hinloopen
toby hinloopen
18 jaar geleden
 
0 +1 -0 -1
@Pim Vernooij:
over dat aanpassen ben ik me bewust.

Met dat bind... ja zo kan het ook. Ik vind een root variable prima werken.
Roland F
Roland F
18 jaar geleden
 
0 +1 -0 -1
Het binden van parameters is echter _de_ manier. Als je kiest om een framework te gebruiken moet je je daar ook aan 'committen', oftewel het framework consequent gebruiken.
Pim Vernooij
Pim Vernooij
18 jaar geleden
 
0 +1 -0 -1
Wat Roland zegt. Jij hebt nu eigenlijk je eigen 'workarround', waar het framework eigenlijk al een standaard oplossing voor biedt. Wellicht heeft jouw oplossing wel bugs in rare browsers, maar is daar in de bind() methode al lang rekening mee gehouden.

Gebruikmaken van de standaard functionaliteit van het framework geeft je de volgende zekerheden:
1. het werkt
2. het is getest
3. het zal in de toekomst blijven werken, omdat het framework doorontwikkeld word.

Dat is het hele nut van een framework :)
Toby hinloopen
toby hinloopen
18 jaar geleden
 
0 +1 -0 -1
@roland en pim:
ja, jullie hebben wel gelijk.
Zal daar langzaam heen groeien.
Kalle P
Kalle P
18 jaar geleden
 
0 +1 -0 -1
1 woord:
jQuery
Toby hinloopen
toby hinloopen
18 jaar geleden
 
0 +1 -0 -1
@Kalle:

1 zin:
Wat is daarmee?

Ik vind mootools prima.
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Richard van Velzen
Richard van Velzen
18 jaar geleden
 
0 +1 -0 -1
@Pim: "Alleen vind ik de methode die je hebt gebruikt om om het scope probleem heen te werken niet zo mooi (de root var)"

Dat is al jaren en jaren *de* manier voor dit probleem, bij conventie heet die variabele that, maar dan nog. De wrapper die Mootools (en vele andere frameworks) hebben doet niets minder dan datzelfde, eigenlijk. Het is onzin om dit af te doen als een "lelijke" methode, terwijl dit juist de standaardmethode is.

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. De Tutorial

Labels

  • Geen tags toegevoegd.

PHP tutorial opties

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.