| | | | |
| |||||||
| JavaScript, Ajax und mehr dynamisches Scripten und Interaktion auf Clientebene |
|
| | LinkBack | Themen-Optionen | Thema bewerten |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Erfahrener Benutzer Registriert seit: 28.07.2010
Beiträge: 2.308
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() | Woher sollte denn an dieser Stelle ein selbstdefinierter Parameter kommen? Und was hat das ausführen von Initialisierungs-Code mit dem generellen Nutzen von Funktionen zu tun? Vielleicht erklärst du mal, wobei genau du dich eingeschränkt fühlst... |
| | |
| | |
| Erfahrener Benutzer | Das ist ein Closure, eine Anonyme Funktion. Du kannst dort auch normale funktionen mitgeben, die meisten Closures die du an JQuery-Objekte übergibst werden mit paramentern aufgerufen. Das DocumentReady-Event ruft das Closure z.b. mit dem argument event auf ( als ersten Parameter ) das wiederum ein Objekt mit Event-Daten ist. Code: $(document).ready(function(event) {
alert(event.type);
});
wenn du Events selbst triggerst ( .trigger() ), kannst du sogar noch eigene Argumente übergeben, in dem Fall allerdings hast DU das event ausgelöst, nicht der browser.
__________________ |
| | |
| | ||
| Erfahrener Benutzer Registriert seit: 16.08.2007
Beiträge: 702
PHP-Kenntnisse: Anfänger ![]() | Zitat:
Code: function show_popup(popup_id, width, height, top, bg_trigger) {
if(popup_status == 0) {
if(bg_trigger != 0) {
$("#popup_bg").css({
"opacity" : "0.7"
});
$("#popup_bg").fadeIn('slow');
}
$("#" + popup_id).fadeIn('slow');
popup_status = 1;
set_popup_position(popup_id, width, height, top, bg_trigger);
}
}
Code: onClick="show_popup('login_popup', 350, 150, 200, 1);"
Jedoch werde ich mit ziemlicher Sicherheit etwas übersehen haben. Darum habe ich diese Frage auch gestellt. Ich werde mal mit tr0y's Tipps etwas experimentieren. Ist es überhaupt nötig, solche, wie oben skizzierte, Funktionen in der ready() Funktion zu definieren? Oder kann ich eigentlich auch ohne $(document).ready() eine gut funktionierende Anwendung mit jQuery machen? Danke für die Feedbacks, übrigends Gruss Igäl
__________________ Das Recht auf Dummheit gehört zur Garantie der freien Entfaltung der Persönlichkeit. Mark Twain | |
| | |
| | |
| Erfahrener Benutzer Registriert seit: 28.07.2010
Beiträge: 2.308
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() | Es ist kein sauberer Stil, die Funktion einfach mit "function show_popup" global zu definieren aber du kannst es ruhig erstmal so machen, die Definition der Funktion platzierst du dann weiterhin außerhalb des document.ready Handlers (der ready() Funktion wie du es nennst). Den Klick-Event Handler fügst du dagegen erst innerhalb des document.ready Handlers dynamisch hinzu. Mit jQuery: Code: function show_popup(popup_id, width, height, top, bg_trigger) {
// ...
}
document.ready(function() {
// ...
$("#loginbutton").click(function () {
show_popup('login_popup', 350, 150, 200, 1);
});
// ...
});
Code: <button id="loginbutton">Login</button> |
| | |
| | |
| Erfahrener Benutzer Registriert seit: 16.08.2007
Beiträge: 702
PHP-Kenntnisse: Anfänger ![]() | @rudygota: Kannst du mir das etwas näher erläutern? Onclick-Event Handler sind doch fester Standard in HTML 4.0 respektive XHTML 1.0. Solange ich sie als Attribut in dafür vorgesehenen Tags verwende. Oder was erschliesst sich mir hier nicht? @fab: Genau hier geht aber mein Problem wieder weiter. Ich kann nicht mehr dynamisch x-beliebig viele Popups erzeugen, weil ich sie nicht referenzieren kann. Mit der globalen Funktion kann ich den Namen des Popups (respektive des div-Elements das angezeigt werden soll) als Parameter mitgeben. Wenn ich mehrere Popups auf einer Seite habe, würde ich das diverse Male wiederholen: Code: document.ready(function() {
// ...
$("#loginbutton").click(function () {
show_popup('login_popup', 350, 150, 200, 1);
$("#beispielbutton").click(function () {
show_popup('login_popup', 350, 150, 200, 1);
$("#examplebutton").click(function () {
show_popup('login_popup', 350, 150, 200, 1);
});
__________________ Das Recht auf Dummheit gehört zur Garantie der freien Entfaltung der Persönlichkeit. Mark Twain |
| | |
| | |
| Erfahrener Benutzer Registriert seit: 28.07.2010
Beiträge: 2.308
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() | Genau diese Wiederholungen hast du aktuell in deinen onclick-Attributen und beschwerst dich auch nicht draüber. Prinzipiell lassen sich natürlich Wiederholungen eliminieren, das hängt im konkreten Fall aber davon ab, wie sich die Buttons unterscheiden. Definiere doch mal was du mit "dynamisch einwirken" meinst. |
| | |
| | |
| Erfahrener Benutzer Registriert seit: 16.08.2007
Beiträge: 702
PHP-Kenntnisse: Anfänger ![]() | Sagen wir mal, wir haben eine statische Liste mit Einträgen und nun für jeden Eintrag einen Button. Per Klick auf den Button würde ein Popup geöffnet, welches mir Details zu den entsprechenden Einträgen anzeigt. Je nach Eintrag verändert sich die Liste der angezeigten Parameter (mal mehr mal weniger Content). Die Buttons würden sich in den Attributen "id" (z.B. id="eintrag_1" || id="eintrag_2" || id="popup_login" || id="etwasganzanderes") und "onClick" [welches ich später gemäss euren Empfehlungen noch zu eliminieren versuche] unterscheiden. Im onClick unterscheiden sie sich, weil jedes Popup verschieden gross ist und ich die Abmessung im Funktionsaufruf als Parameter mitgeben möchte. Der Grund, warum ich euch damit nun so auf den Wecker gehe ist derjenige, dass ich schlechten Stil möglichst eliminieren will. Deshalb muss ich jetzt herausfinden, wie guter Stil aussehen soll. Sonst mag ich meinen eigenen Code nicht mehr ![]()
__________________ Das Recht auf Dummheit gehört zur Garantie der freien Entfaltung der Persönlichkeit. Mark Twain |
| | |
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Einsatz von Milestones (jQuery) | dreamcatcher | JavaScript, Ajax und mehr | 4 | 28.06.2011 12:07 |
| PHP und jquery | mehlwurm | PHP Einsteiger | 13 | 30.05.2011 23:09 |
| Einfaches JQuery resize und scoll läuft nicht | smilla | JavaScript, Ajax und mehr | 5 | 08.02.2011 20:44 |
| Zwei verschiedene jQuery Aktionen | Electrofreak | JavaScript, Ajax und mehr | 3 | 14.01.2011 14:40 |
| jQuery, einem DOM-Knoten eine Payload anhängen | Chriz | JavaScript, Ajax und mehr | 6 | 22.12.2010 15:31 |
| jQuery ":not" selektor | Paul.Schramenko | JavaScript, Ajax und mehr | 13 | 03.12.2010 17:11 |
| jQuery - Text an Cursorposition einfügen | Koala | JavaScript, Ajax und mehr | 5 | 11.11.2010 21:28 |
| [Erledigt] jQuery Slider - In eine Richtung sperren | Trainmaster | JavaScript, Ajax und mehr | 2 | 08.08.2010 16:06 |
| [Erledigt] Statistik mit jQuery | DJ_RhoxxZ | JavaScript, Ajax und mehr | 6 | 25.07.2010 17:47 |
| jquery: dialogbox funktioniert nicht | Dreamwatcher | JavaScript, Ajax und mehr | 16 | 22.07.2010 18:22 |
| jQuery findet Element nicht | ByStones | JavaScript, Ajax und mehr | 8 | 11.06.2010 14:03 |
| jQuery Plug scroll to - wie einbetten? | mxxxx | JavaScript, Ajax und mehr | 5 | 24.04.2010 18:12 |
| [Erledigt] jQuery Dateien nachladen | Phoscur | JavaScript, Ajax und mehr | 7 | 14.03.2009 13:44 |
| jQuery Plugin - so richtig? | stayInside | JavaScript, Ajax und mehr | 5 | 23.02.2009 12:34 |
| For Schleife mit jQuery | phpbeginner | JavaScript, Ajax und mehr | 3 | 22.11.2008 22:35 |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| jquery document ready, javascript document.ready, document.ready, document ready jquery, jquery ready, ie9 führt $(document).ready nicht aus, jquery php ready, $(document).ready, $(document).ready(function() event, jquery findet ready nicht mehr, jquery document ready funktion wird nicht getrigert, jquery event listener nur in document ready, ie9 on document ready, was alles document ready funktion, document ready function jquery php, jquery php ausführen ready, jquery document ready vorher, jquery ohne document ready, jquery click auserhalb ready, $(document).ready feuern |