Ich versuche Delegat zu verwenden, um eine Funktion aufzurufen, wenn ein bestimmter Satz von Links klicken. Ich habe es schon früher auf einer anderen Seite benutzt. Es wurde dort gearbeitet. Aber dieses Mal kann ich gar nicht finden, wo das Problem liegt.jQuery Delegate funktioniert nicht?
Meine Links dynamisch generiert wurden, sieht sie aus wie
<a class="thumbLink" href="#" id="My HomeTown-1"><small>My HomeTown</small></a>
Und die jQuery Delegatfunktion ist,
$(document).ready(function(){
$("#albumHolder").delegate('a.thumbLink', 'click', this.loadAlbum);//albumHolder is div ID that holds all the <a> elements
this.loadAlbum = function(){
var id = this.id;
var number = id.lastIndexOf("-");
var alubmName = id.subString(0, number);
alert(albumName);
}
});
Update:
ich beide Versionen versucht, aber ich bin nicht in der Lage, es zum Laufen zu bringen!
$("#albumHolder").delegate('a.thumbLink', 'click', function loadAlbum(){
var id = this.id;
var number = id.lastIndexOf("-");
var alubmName = id.subString(0, number);
alert(albumName);
});
this.loadAlbum(){
var id = this.id;
var number = id.lastIndexOf("-");
var alubmName = id.subString(0, number);
alert(albumName);
}
$("#albumHolder").delegate('a.thumbLink', 'click', this.loadAlbum);
Der obige Code ist in $(document).ready(function(){});
. Ist das korrekt?? Ich habe auch versucht, indem Sie sie in eine separate js
Datei. Ich kann es nicht funktionieren lassen.
Irgendeine Idee über mein Problem !!!
# @ patrick dw: Es funktioniert nicht. Ich bin auch müde, '.live()' zu verwenden. Es funktioniert auch nicht. Macht es dir einen Sinn !!! Jedenfalls habe ich meine Frage mit den 'try' Ergebnissen aktualisiert. –
@CS 1.6 - Wird das '# albumHolder' -Element dynamisch erstellt? Gibt es auch eine Chance, dass Sie eine ältere Version von jQuery für dieses Projekt verwenden? – user113716
# @ patrick dw: Ja! –