3Danke
ERLEDIGT
JA
JA
ANTWORTEN
8
8
ZUGRIFFE
460
460
EMPFEHLEN
-
Huhu zusammen,
ich wollte mal Fragen ob jemand ein Tutorial kennt wie man sein eigenes kleines Framework basteln kann.
Mir geht es darum, dass ich es hasse etwas einfach zu benutzen ohne zu verstehen, wie es funktioniert. Beste Beispiel ist jQuery. Überall wird's eingesetzt und kaum einer versteht was da passiert.
Und ich würde mal gerne wissen, wie so etwas funktioniert.
Wie macht jQuery z.b. dass dinge mit $ aufgerufen werden?
Das Problem ist, wenn man danach googelt wird man mit Beispiel und sonstigen Mist zugeworfen. Wie es aber wirklich funktioniert, weiß ich nicht..
Bin sehr dankbar für eure Tipps
paD
-
23.12.11 16:11 #2
- Registriert seit
- Dec 2011
- Beiträge
- 30
definiert z.B. einfach eine Funktion, deren Name "$" ist und die dann etwa alsCode :1 2 3
function $(id) { return document.getElementById(id); }aufgerufen werden kann. Das ist ein legaler Funkionsname, allerdings besagte die ECMAScript-Spezifikation in Ausgabe 3, dass solche Namen nur von Maschinen-generiertem Code benutzt werden sollen. In der Ausgabe 5 der ECMAScript-Spezifikation hat man diese Einschränkung allerdings entfernt.Code :1
$('el1')
-
Okay, dass ist wirklich sehr einfach

Aber wie funktioniert dann z.b. dass:
Code javascript:1 2 3
$('#a').click = function() { }
Klar, das #a kann als Parameter übergeben.. Aber bei dem .click hört es mit dem Verstehen wieder auf
Selbst wenn ich mir die jQuery.js jetzt anschaue und das mit dem $ verstehe. Will mir das mit dem .click nicht so ganz gefallen.
Ich sehe irgendwie, dass die Funktion in Funktion aufruft und dadurch die Parameter übergeben werden. Aber wenn ich das versuche in vereinfachter form nach zu programmieren, schaff ich es einfach nicht.
paD
-
23.12.11 16:45 #4
Hallo,
du könntest mal einen Blick auf den (unkomprimierten) Quelltext werfen:
http://code.jquery.com/jquery-1.7.1.js
(Bzw. auf der Startseite "Development" wählen und "Download" drücken).
Zum "Finden" der Elemente via Selektoren (#id, .class, [attr], ...) benutzt jQuery das Sizzle Framework.
Ein Tutorial für ein eigenes JS-Framework kenne ich jetzt nicht, aber hier habe ich dir mal ein kleines Beispiel geschrieben.
Edit:
click ist selbst auch nur eine Methode des jQuery-Objekts.
Vereinfacht schaut das wahrscheinlich so aus:
Code javascript:1 2 3 4
jQueryObj.prototype.click = function( func ) { func(); }
mfg ComFreek
Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
[PHP] Überprüfen, ob Website erreichbar • Sicherheit in PHP-Codes schaffen • Google Chrome-Extension für tutorials.de • json_compress()
-
Wow, danke!
Dein Beispiel erklärt echt einiges.
Allerdings verstehe ich nicht wofür:
_$.prototype.html = function(str)
ist, bzw. wo es aufgerufen wird.
Und wie jQuery es macht, dass man statt domElement.addEventlistener einfach
$("select").chance = function () ...
schreiben kann..?
Ich meine, wäre nicht so tragisch, aber einfacher ist es schon.
Ich müsste in der $id das addEventListener einbauen oder..?
paD
-
23.12.11 17:47 #6
Ja gut, die html-Methode rufe ich in dem Beispiel nie auf.
Hier noch einmal mit html()-Aufruf: http://jsfiddle.net/hvwXH/2/.
Da werden wahrscheinlich bei der Initialisierung die Funktionen gesetzt. Vielleicht schreibe ich auch noch ein BeispielUnd wie jQuery es macht, dass man statt domElement.addEventlistener einfach
$("select").chance = function () ...
schreiben kann..?
mfg ComFreek
Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
[PHP] Überprüfen, ob Website erreichbar • Sicherheit in PHP-Codes schaffen • Google Chrome-Extension für tutorials.de • json_compress()
-
Kann man nicht. Es heißt
Code javascript:1 2 3
$("select").change(function() { // });
Was nur ein weiterer Methodenaufruf ist, dem eine Funktion übergeben wird. Und .change ist ein alias für
Code javascript:1 2 3
$("select").on('change', function() { // });
Und wenn du in den Code guckst (wie ComFreek gesagt hat), findest du dort (bei .on) den Aufruf "jQuery.event.add", was in seinen Tiefen dann tatsächlich folgenden, von dir gesuchten, Code versteckt.
Code javascript:1 2 3 4 5
if ( elem.addEventListener ) { elem.addEventListener( type, eventHandle, false ); } else if ( elem.attachEvent ) { elem.attachEvent( "on" + type, eventHandle ); }
-
Okay, gut - so langsman komm ich weiter, danke dafür

Das Problem ist nicht, dass ich nicht in die jQuery Datei geschaut habe, sondern nicht wusste wonach ich suchen konnte.
Ich werd mal weiter rum Probieren und bald posten wie weit ich komme oder obs wieder irgendwo hängt
paD
-
Bin mittlerweile ne ganze ecke schneller.
Noch ein bisschen Zeit und mein Framework steckt jQuery locker weg *lach*.
Nein quatsch. Aber mittlerweile verstehe ich dir Vorgehensweise und hab auch schon einiges geschafft.
Thread erledigt
paD
Ähnliche Themen
-
Eigenes HTML / CSS Framework.. [Hilfe bei Optimierung]
Von moreplz im Forum HTML & XHTMLAntworten: 2Letzter Beitrag: 17.04.11, 11:43 -
Eigenes Framework
Von Perl-Neuling im Forum PHPAntworten: 3Letzter Beitrag: 27.10.08, 10:05 -
Welches php Framework (inkl. Framework-Übersicht)
Von rethus im Forum PHPAntworten: 10Letzter Beitrag: 14.11.07, 13:34 -
.net 1.x Framework wird installiert trotz .net 2.0 Framework
Von BWilhelm im Forum .NET CaféAntworten: 5Letzter Beitrag: 12.06.06, 07:28 -
eigenes CMS
Von SchwarzerWolf im Forum Content Management Systeme (CMS)Antworten: 1Letzter Beitrag: 19.12.02, 20:58





Zitieren



Login





