Używam wtyczki JEditable do edycji na miejscu.Tworzenie JEditable na nowych elementach (.live)
Mam funkcję "setup", która wywołuje .editable()
we wszystkich odpowiednich klasach. Problem polega na tym, że mam nowo dodane elementy, które również chciałbym edytować. Oczywiście, będąc nowo dodanym, .editable()
nigdy nie zostanie wywołany na nich.
Innymi słowy, szukam efektu, który ma funkcja JQuery live()
, ale dla funkcji editable()
.
Moje bieżące obejście wydaje mi trochę brzydki (redscribe_button
znajduje się przycisk, który należy kliknąć, aby edytować tekst):
$(".redescribe_button").live("click", function(click_event) {
click_event.preventDefault();
$(".editable", $(this).parent().parent()).editable("/temp/", {
event: "make_editable",
indicator : 'Saving...',
tooltip : 'Click to edit...'
});
$(".editable", $(this).parent().parent()).trigger('make_editable');
});
Innymi słowy, Dzwonię .editable każdym razem edycja przycisk jest kliknięty.
Jakieś pomysły na lepsze rozwiązanie?
To jest właśnie to, co robię, z wyjątkiem zamiast ponawiania go dla wszystkich, przerabiam go (lub robię to po raz pierwszy) na właśnie klikniętym elemencie. Mimo to wydaje się to nie w porządku. –
Działa, i utrzymuje kod w porządku i porządku. Nie jest zepsuty, więc nie trzeba go naprawiać. –