Creo dinámicamente un nuevo div
(con una clase e ID de "cuadro de texto"), y algunos otros elementos dentro de él, y más tarde en mi código, vinculo ese div
al evento click y mostrar el elemento hace clic, así:jquery e.target.hasClass no funciona
$('#textbox_'+i).bind('click', function(event){
alert(event.target.className);
}
Esto está muy bien, y me dará textbox
como una de las clases mostradas. Pero event.target.hasClass()
parece que no funciona. Así que, cuando hago lo siguiente, no pasa nada:
$('#textbox_'+i).bind('click', function(event){
if(event.target.hasClass('textbox')) { alert('got it!'); }
}
lo probé un par de maneras diferentes y me parece que event.target.hasClass()
simplemente no funciona. ¿Hay alguna otra forma de lidiar con los eventos o estoy haciendo algo mal?
Wow! bien, eso fue simple! Quizás esto es un poco fuera de tema, pero ¿cuál es la diferencia entre $ (event.target) y event.target? El primero funciona con hasClass, pero no cuando intento alertar a .className. – user961627
hasClass es una función jQuery, .className es simple javascript – anderssonola
El primero está envuelto en jQuery, por lo que es un objeto jQuery y se puede utilizar con métodos jQuery. El segundo es un objeto javascript simple devuelto en las funciones 'event' y se puede usar con métodos simples de javascript pero no con jQuery. – adeneo