2009-07-16 2 views
0

Ist es möglich, zu einem Elementtyp oder vielleicht einer CSS-Auswahl eine eigene Ereignisfunktion hinzuzufügen?jquery fügt eigene html-Elemente eigener Ereignisse/Funktionen hinzu?

so etwas wie:

$("a").bind("blub", function() { alert("aaa" + this); }); 

$("a").get(0).blub(); 

ich einige Funktionen definieren wollen, die für einige spezielle Elemente nur verfügbar sind, zB .:

die < div class = "myDivContainer" > ... </div > sollte die Funktion zur Verfügung haben:

$("myDivContainer").get(0).blub(); 

aber auf mayb e:

$("myDivSeparator").get(0).blub(); 

dies nicht funktionieren sollte, weil es nicht für sie definiert wurde

ist das möglich ?!

+0

Wenn Sie eine ID auswählen müssen Sie ein # vor, so wäre es #myDivContainer –

Antwort

5

Sie können mit bind und trigger benutzerdefinierte Ereignisse erstellen. Siehe zum Beispiel dieses question.

Sie müssen die Trigger-Methode verwenden, um das benutzerdefinierte Ereignis zu nennen:

$("a").bind("blub", function() {}); 
$("a").trigger("blub"); 

Natürlich können Sie das „blub“ Ereignis nur für Elemente können auslösen, bevor genannt binden.

Wenn Sie blub als Methode verwenden möchten, müssen Sie die jQuery selbst ändern/erweitern.

+0

nicht verstehen - wie ich die gebundene Methode aufrufen ?! –

+0

Der Trigger ("blub") ruft die binded-Methode auf. Google für benutzerdefinierte Ereignisse mit jQuery. Sie finden viele nützliche Artikel. – kgiannakakis

Verwandte Themen