2010-11-10 20 views
6

üzerinde YÜRÜTTÜLEBİLİR çalışmalar Yapmak için yerinde değiştirilebilir eklentiyi kullanıyorum.Yeni elemanlar üzerinde (0li)

Tüm ilgili sınıflarda .editable()'u çağıran bir "kurulum" işlevim var. Sorun şu ki, düzenlenebilir hale getirmek istediğim yeni eklenen elemanlara da sahibim. Açıkça, yeni eklendiğinde, .editable() asla onları çağırmaz.

Diğer bir deyişle, jquery'nin live() işlevinin, ancak editable() işlevinin etkisini görmeye çalışıyorum.

Benim şu anki geçici çözüm (redscribe_button metni düzenlemek için tıklandığında gereken düğme) bana biraz çirkin görünüyor: Başka bir deyişle

$(".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'); 
}); 

, sadece düzenleme her zaman .editable arıyorum düğmesine tıklandı.

Daha iyi bir çözüm için herhangi bir fikir var mı?

cevap

3

Bir öğede bir defada düzenlenebilir olarak çağrı yapılması, olumsuz bir yan etkisi yoktur, değil mi? Öyleyse neden her seferinde bir değişiklik olursa kurulumu yeniden yapmıyoruz.

+0

Etkin olduğum şey bu, herkes için tekrar tekrar yapmak yerine, onu yeniden tıklattığım öğede (veya ilk kez yaptığım) hariç olmak. Yine de, yanlış bir şey hissediyor. –

+1

Çalışır ve kodu güzel ve düzenli tutar. Kırılmadı, düzeltmeye gerek yok. –

5

Bu soruya daha yeni geldim ve daha zarif bir şekilde (IMHO) çözdüm.

$('.jqEdit').live('click',function(event) { 
    event.preventDefault(); 
    $(this).editable('save.php') 
}); 
İlgili konular