0

html現在クリックされている要素に関する情報を取得したい。その$(*).click()ために、ページ上のすべての要素がこのイベントを持つようにイベントを使用しました。ユーザーがhelloをクリックしたときに次のhtmlコード がある<div class="outer"> <div class="inner"> <p>Hello<p> </div> </div> とします。その要素を取得して、そのタグ、クラスなどを識別できるようにしたいとします。しかし、ユーザーがhelloをクリックするとクリックイベントが発生しますが、pで発生しますtag 、次に div class=inner 、次に div で class を outer にします。しかし、ここでは、ユーザーがクリックしたテキストまたは領域でのみイベントを取得したいと考えています。

4

1 に答える 1

4

$(document).click()の代わりに$(*).click()使用e.targetして、指定するために使用してください。エレメント。

を使用して、イベントのバブリングを停止できますe.stopPropagation();

$(document).click(function (e) {
   e.stopPropagation();
   alert('Tag Name: ' + e.target.tagName + 
           ' --has class: ' + e.target.className + 
           ' --with text: ' + $(e.target).text());
});

デモ: http://jsfiddle.net/Q6cpR/1/

于 2012-10-04T18:44:52.880 に答える