Me gustaría obtener el elemento actual (cualquier elemento que sea) en un documento HTML en el que hice clic. Estoy usando:
$(document).click(function () {
alert($(this).text());
});
Pero muy extrañamente, obtengo el texto de todo el documento (!), No el elemento cliqueado.
¿Cómo obtener solo el elemento en el que hice clic?
Ejemplo
<body>
<div class="myclass">test</div>
<p>asdfasfasf</p>
</body>
Si hago clic en el texto "prueba", me gustaría poder leer el atributo con $(this).attr("myclass"
) en jQuery.
javascript
jquery
html
dom
usuario1145216
fuente
fuente
target
propiedad del objeto de evento.Respuestas:
Debe utilizar el
event.target
cual es el elemento que desencadenó originalmente el evento. Elthis
código en su ejemplo hace referenciadocument
.En jQuery, eso es ...
Sin jQuery ...
Además, asegúrese de que necesita admitir <IE9 que utiliza en
attachEvent()
lugar deaddEventListener()
.fuente
if(event.target === myjQueryDivElement)
que tenía que hacer:if(event.target.hasClass('mydivclass'))
donde mydivclass era una clase que tenía mi elemento.|| target.innerText
?event.target
para obtener elelement
para obtener el texto del elemento cliqueado
fuente
use lo siguiente dentro de la etiqueta del cuerpo
luego use en javascript la siguiente función para obtener la ID
fuente
Puede encontrar el elemento de destino en
event.target
:Referencias
fuente
Uso
delegate
yevent.target
.delegate
aprovecha el burbujeo de eventos al permitir que un elemento escuche y maneje eventos en elementos secundarios.target
es la propiedad jQ-normalizada delevent
objeto que representa el objeto del que se originó el evento.Demostración: http://jsfiddle.net/xXTbP/
fuente
on()
debería recomendarse másdelegate()
. Además,document
es probablemente la única excepción para no usardelegate()
/on()
ya que están burbujeando al punto más alto de manejo de todos modos.on
me olvido.delegate
embargo, supongo que tiene que considerar la sobrecarga de filtrado ...Sé que esta publicación es muy antigua pero, para obtener el contenido de un elemento en referencia a su ID, esto es lo que haría:
fuente
fuente
Aquí hay una solución que utiliza un selector jQuery para que pueda orientar fácilmente las etiquetas de cualquier clase, ID, tipo, etc.
fuente