0

次のコードは、pクリックされた要素 のテキストを表示します。

$("p").click(function(){
    console.log($(this).text());
});

しかし、これを一般化して、 だけでなく、クリックされた html 要素のテキストを取得したいと思いますp。私は次のことを行いましたが、これはページ上のすべての html 要素のテキストを返します:

$("*").click(function(){
    console.log($(this).text());
});
4

3 に答える 3

3

イベントの伝播を停止する必要があるため、クリックされた要素のみがこのイベントを発生させ、そのすべてのコンテナも同様に発生させるわけではありません。

$("*").click(function(e){
    e.stopPropagation();
    console.log($(this).text());
});

これはおそらくより適切です:

$(document).on('click', '*', function(e){
    e.stopPropagation();
    console.log($(this).text());
});

jsFiddle デモ

于 2013-09-24T14:43:00.087 に答える
1

これを試して

$('*').on('click', function (e) {
    if (e.target == this) {
        console.log($(this).text());
    }
});
于 2013-09-24T14:43:22.500 に答える
1

body含めたとおりにタグをクリックしました*

試す

$("*").click(function(e){
    console.log(e.target.innerHTML);
});

インナーHTML

イベント.ターゲット

于 2013-09-24T14:43:35.657 に答える