2012-05-02 20 views

Odpowiedz

25

Użyj $(event.target).text(), aby uzyskać tekst.

+1

Dlaczego nie tylko '$ (this)'? – zerkms

+2

@zerkms Ponieważ '$ (this)' odnosi się do ciała. –

+0

@zerkms: Zdarzenie jest związane z '' body''. "this" będzie "body", a nie kliknięty element. –

1

Spróbuj poniżej

$('body').click(function(event){ 
    var $targ = $(event.target); 
    if ($targ.hasClass('test')){ 
    alert($targ.text()); 
    } 
} 
3

Być bardziej efektywne delegowanie z organizmu:

$('body').on('click', '.test', function(event){ 
    alert($(this).text()) 
}); 
+0

Thx za odpowiedź, która może być pomocna. – mol

0

Nie wiem, czy masz zamiar pracować z innymi elementami wewnątrz tej obsługi zdarzeń oprócz tych z klasą test, ale może to być bardziej zwięzłe:

$('.test').click(function(event){ 
    alert($(this).text()); 
}); 
Powiązane problemy