2013-08-24 10 views
5

ajax yanıtı kullanılarak dom manipüle edildikten sonra tüm olaylar nasıl eklenir. Temelde html'nin bir parçası olan bir html yanıtı alan bir ajax isteğim var. bu parça HTML’de çok sayıda düğme var. Daha önce bildirilen ve eklenmiş olan olayları da bu bölüme de uygulanacak şekilde dom yenilemek istiyorum. Her düğmeyi jquery on() kullanarak her bir düğmeye eklemeye devam etmek istemiyorum. başka ne yapmalı?JQuery ajax kullanarak DOM manipulasyonundan sonra olaylar ekleme

+0

olası yinelenen [jQuery olay heyeti] (http://stackoverflow.com/questions/14679432/jquery-event-delegation) –

+0

@EvanTrimboli - Bu soruyu bunun bir kopyası değil. Çözüm benzer olabilir, ancak soru aynı değildir. – jfriend00

+0

Olay temsilciliğinin nasıl çalıştığını açıklayan başka bir cevap olması gerekiyor mu? –

cevap

9

Önceden ayarlanmış olan ve yeni eklenen DOM öğelerine uygulanacak şekilde yetkilendirilmiş temsil işlemlerini kullanabilirsiniz. Yetki verilen olay işleme .on() ile yapılır ve genellikle şeklini alır: sadece tekrar olay kurmadan kod çalıştırmasına ve sadece yeni eklenen DOM öğeleri için geçerli olması için hiçbir temiz yolu yoktur

$("static parent selector").on('click', 'selector for dynamic element', fn); 

. Bu kodu bir fonksiyona koymalı ve bir olay işleyicisini bir kereden fazla eklemeyecek şekilde kodlamalı ve sonra DOM'a öğeler ekledikten sonra bu fonksiyonu tekrar arayabileceksiniz. Veya, işlevin bir üst nesne için bir argüman almasını ve yeni eklenen DOM hiyerarşisinde yalnızca olay işleyicileri ekleyebilmesini sağlayabilirsiniz.

İşte yetkilendirilen olay kullanımı hakkında başka bir ilgili cevabı: Does jQuery.on() work for elements that are added after the event handler is created?

ait
+0

Burada, jfriend00'ün ne dediğini açıklayan link: http://api.jquery.com/on/ – Jonathan

İlgili konular