以下代码显示了点击的任何p
元素的文字:
$("p").click(function(){
console.log($(this).text());
});
但我想概括一下并获取点击的任何html元素的文字,而不仅仅是p
。我做了以下操作,但这会返回页面上所有html元素的文本:
$("*").click(function(){
console.log($(this).text());
});
答案 0 :(得分:3)
您需要停止event's propagation,因此只有点击的元素才会引发此事件,而不是所有容器。
$("*").click(function(e){
e.stopPropagation();
console.log($(this).text());
});
这可能更合适:
$(document).on('click', '*', function(e){
e.stopPropagation();
console.log($(this).text());
});
答案 1 :(得分:1)
试试这个
$('*').on('click', function (e) {
if (e.target == this) {
console.log($(this).text());
}
});
答案 2 :(得分:1)
您点击了body
标记已包含*
尝试
$("*").click(function(e){
console.log(e.target.innerHTML);
});