-1

ページのどの部分がクリックされたかをテストしようとしています。クリックされている要素のパスを表示できるjQuery関数はありますか? Google で検索しましたが、うまくいったものは見つかりませんでした。これに使用するのはevent.target.className正しいですか?

コード:

   <script type="text/javascript">
    $(document).ready(function() {
        $("body").click(function(event) {
            window.alert("clicked: " + event.target.nodeName);
        });
    });
    </script>
4

4 に答える 4

3

これはあなたを助けるかもしれません:

<script> 
  document.onclick = function(evt) {
    var evt=window.event || evt; // window.event for IE
    if (!evt.target) evt.target=evt.srcElement; // extend target property for IE
    alert(evt.target); // target is clicked
  }
</script>

このリンクも役に立ちます

于 2013-08-13T04:42:24.133 に答える
2

クリックされた DOM 要素は単にevent.targetです。

于 2013-08-13T04:42:11.280 に答える
0

私には似てる

$(document).click(function(event){
    console.log($(event.target).attr('class'));
});

うまくいくでしょう。おそらくIDを使用する方が良いでしょう。その場合、構文はもう少し効率的です

$(document).click(function(event){
    console.log(event.target.id);
});
于 2013-08-13T04:47:49.620 に答える
0

要素を探している場合は、jQuery のevent.targetように選択されているだけです。$(event.target)

クリックした要素のクラスを探す場合、

はいevent.target.className、有効です。

jQueryで他の関数が必要な場合は、

あなたは試すことができます、

$(event.target).attr('class');

また

$(event.target).prop("class");

コメントの後に編集

すべての親を一覧表示するには、

すべての親を取得し、それらのノード名を変数に追加します。

var a = "";
a += event.target.nodeName;
$(event.target).parents().each(function(){
     a += " < "+$(this)[0].nodeName;
});
alert(a);

JSFIDDLE デモ

于 2013-08-13T04:43:52.190 に答える