Dynamicznie tworzę nowy div
(z klasą i identyfikatorem "textbox"), a także kilka innych elementów w nim, a później w moim kodzie wiążę to div
ze zdarzeniem kliknięcia i wyświetlić element kliknięciu tak:jquery e.target.hasClass nie działa
$('#textbox_'+i).bind('click', function(event){
alert(event.target.className);
}
to jest w porządku, a to będzie mi dać textbox
jako jednej z klas wyświetlanych. Ale wydaje się, że event.target.hasClass()
nie działa. Tak więc, kiedy należy wykonać następujące czynności, nic się nie dzieje:
$('#textbox_'+i).bind('click', function(event){
if(event.target.hasClass('textbox')) { alert('got it!'); }
}
Próbowałem kilka różnych sposobów i wydaje mi się, że event.target.hasClass()
po prostu nie działa. Czy istnieje inny sposób radzenia sobie z wydarzeniami lub czy robię coś złego?
Wow! ok, to było proste! Może to trochę nie na temat, ale jaka jest różnica między $ (event.target) a event.target? Ten pierwszy działa z hasClass, ale nie kiedy próbuję ostrzec .className. – user961627
hasClass jest funkcją jQuery, .className jest prostym javascript – anderssonola
Pierwsza jest zawijana w jQuery, więc jest to obiekt jQuery i może być używany z metodami jQuery. Drugi to zwykły obiekt javascript zwrócony w funkcji 'zdarzenie' i może być używany z prostymi metodami javascript, ale nie z metodami jQuery. – adeneo