Следующий код показывает текст любого элемента p
нажали:
$("p").click(function(){
console.log($(this).text());
});
Но я хотел бы обобщить это и получить текст любого элемента html, а не только p
. Я сделал следующее, но это возвращает текст всех элементов html на странице:
$("*").click(function(){
console.log($(this).text());
});
Вам нужно остановить распространение событий, так что только элемент с щелчком поднимет это событие, а не все его контейнеры.
$("*").click(function(e){
e.stopPropagation();
console.log($(this).text());
});
Это, пожалуй, более подходит:
$(document).on('click', '*', function(e){
e.stopPropagation();
console.log($(this).text());
});
Вы нажали на тег body
как вы включили *
Пытаться
$("*").click(function(e){
console.log(e.target.innerHTML);
});
Попробуй это
$('*').on('click', function (e) {
if (e.target == this) {
console.log($(this).text());
}
});