To zdarzenie delegowane jest uruchamiane dwa razy (nie zawsze, czasami).Deleguj wydarzenie dwukrotnie, wydarzenie
client.bindButtonClickFunction = function(){
$("#client-plugin").delegate(".client-button", "click", function()
{
var id = this.id.split('-')[2];
client.retrieveMessageByID(id);
});
};
Wywołuję funkcję po włożeniu wszystkich przycisków ".client".
Jakieś myśli, jak to zatrzymać? Próbowałem event.stopPropagation(), a także cofałem i przekierowuję bezskutecznie.
To jest w Chrome, jako część wtyczki do Chrome.
trudno powiedzieć bez dalszych informacji. Najprawdopodobniej dwa razy wywołasz 'bindButtonClickFunction' ... btw. nie trzeba czekać na wstawienie przycisku ".client", "delegate" działa podobnie jak "live". –
Czy próbowałeś zatrzymać stopImmediatePropagation? http://api.jquery.com/event.stopImmediatePropagation/ – exoboy
Właśnie naprawiłem dwukrotnie problem z wystrzeleniem, który miałem. Tak jak powiedział @FelixKling, miałem deklarację delegata() wewnątrz niektórych funkcji $ (document) .ready(), zasadniczo wywołując funkcję wiele razy. –