change - simulate click jquery
jquery e.target.hasClass no funciona (2)
Está intentando usar un método jQuery, hasClass()
, en un elemento DOM estándar. Necesita convertir el e.target
elemento JS DOM a un objeto jQuery, de la siguiente manera:
$(event.target).hasClass(''textbox'')
Y terminas con:
$(''#textbox_''+i).on(''click'', function(event){
if( $(event.target).hasClass(''textbox'')) alert(''got it!'');
});
Observe el uso de on()
, el cierre correcto de la función de click
, y no necesita corchetes en su instrucción if si solo está ejecutando una alerta simple.
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 adelante en mi código, vinculo ese div
al evento click y visualizo el elemento en el que se hizo clic, así:
$(''#textbox_''+i).bind(''click'', function(event){
alert(event.target.className);
}
Esto está bien, y me dará textbox
como una de las clases que se muestran. Pero event.target.hasClass()
no parece funcionar. Entonces, cuando hago lo siguiente, no pasa nada:
$(''#textbox_''+i).bind(''click'', function(event){
if(event.target.hasClass(''textbox'')) { alert(''got it!''); }
}
Lo intenté de diferentes maneras y me parece que event.target.hasClass()
simplemente no funciona. ¿Hay alguna otra forma de lidiar con los eventos o estoy haciendo algo mal?
Si quieres seguir utilizando tu elemento JS DOM plain sin usar jQuery:
event.target.classList.contains(''textbox'')