# Event auslösen



## Noeden (9. März 2011)

Hallo, 

kann ich mit jquery oder javascript so tun, als hätte der Benutzer auf eine Schaltfläche geklickt? 

Also ich habe ein Ereignix, das bei einem bestimmten Event ausgelöst wird. Sagen wir bei einem Mausklick. Kann ich dann bei einer anderen Gelegenheit einen Mausklick "erzeugen" sodass mein Programmtext denkt es wäre geklickt worden. 


Ach Gott das klingt so kompliziert, hoffe ihr versteht mich!

LG Noeden


----------



## Quaese (9. März 2011)

Hi,

jQuery bietet zum Auslösen eines Events die Methode trigger.

Ansonsten helfen dir die Methoden dispatchEvent (DOM Level 3, IE ab Version 9) und fireEvent (IE) weiter.

Ciao
Quaese


----------



## Drawlix (9. März 2011)

Es gibt bei js eine click() Methode dort muss ein Objekt übergeben werden

sonst könntest du auch ein Browser Plug in installieren was das emuliert zb iMacros 

Gruß

Drawlix


----------



## Quaese (9. März 2011)

Hi,

die *click*-Methode steht für alle Elemente nur im IE zur Verfügung. Ansonsten ist die Einsatzmöglichkeit eingeschränkt - sieher z.B. bei SelfHTML.

Mit den bereits genannten Methoden *dispatchEvent* und *fireEvent* sollten alle Voraussetzungen zur Verfügungen stehen, um einen Event "manuell" auszulösen. Da sind keine Browser-PlugIns oder ähnliches notwendig - zumal nicht vorausgesetzt werden kann, dass sie auf dem aufrufenden Clientrechner überhaupt existieren.

Ciao
Quaese


----------



## Noeden (9. März 2011)

Ich muss zugeben ich habe nach dispatchEvent und fireEvent nicht mehr geschaut, denn trigger macht genau das was ich wollte! Danke 

Wie komfortabel


----------



## Quaese (9. März 2011)

Hi,

mein zweiter Beitrag zielte auch lediglich auf @Drawlix Hinweis zu *click* und den Browser-PlugIns ab.

Ich selbst hätte - wie in meinem ersten Beitrag geschrieben - ebenfalls auf *trigger* zurück gegriffen, wenn jQuery bereits eingebunden sein sollte.

Ciao
Quaese


----------



## chickenwing (14. März 2011)

Hallo erstmal,

ich hätte dazu eine ähnliche Frage, die ich allerdings lieber in javascript hätte, da ich wegen einer Funktion nicht extra jQuery einbinden möchte.
Hintergrund ist folgender: Ich habe ein Galeriescript geschrieben, in dem User ihre Bilder (ohne kompletten Seitenreload) auch löschen und hinzufügen können (Namen usw. werden in einer DB gespeichert). Löschen mittels Ajax, Upload mittels swfupload. Knackpunkt: User sollen nur eine max. Anzahl an Bildern hochladen können. Ist per PHP keine Hürde, allerdings hätte ich zusätzlich ganz gerne, dass, wenn die maximale Anzahl an Bildern erreicht ist, der Upload nicht mehr zu sehen ist, sondern erst wieder, wenn wenigstens 1 Bild gelöscht wurde. Am sinnvollsten erscheint es mir, einfach das div ein- bzw. auszublenden. (document.getElementById("formcontent").style.visibility = 'visible' oder 'hidden'. Da mir jedoch die Anzahl der Bilder nach erfolgreichem Upload erst von PHP geliefert wird, habe ich kein Event (d.h., ich kenn keines), auf das Javascript reagieren kann.

Auszug aus meiner "refresh.php":

```
if($limit - $anzahl_bilder == 0 ) { 
	echo '<b>Sie haben die maximale Anzahl an Bildern erreicht. Weitere Uploads werden ignoriert!</b>';
// Hier jetzt div ausblenden
} else {
	echo 'Sie k&ouml;nnen noch '.($limit - $anzahl_bilder).(($limit - $anzahl_bilder) == 1 ? ' Bild ' : ' Bilder ').'hochladen.';
// Hier jetzt div einblenden
}
```
Danach sollte der Javascriptcode greifen und das div ein- bzw auszublenden.

Hat vielleicht jemand eine Idee, wie ich das umsetzen könnte? Beispielcode "wär' fei scho' schee'".

Greetz
ckw


----------



## Maniac (15. März 2011)

Ich würde ebenfalls mit AJAX prüfen ob die max Anzahl der Bilder erreicht ist.
Wenn ja, das div nicht anzeigen und Meldung ausgeben. Wenn nein, Upload anzeigen.


----------

