0

这似乎与我之前的问题有关,但我的目的是:

目的:排查和检测实际被点击的 dom 元素。

这只是我访问所点击元素的 id/class 的最简单方法。

$("span").on('click', function(event) {   
    event.stopPropagation();
    alert("The span element was clicked. ID:" + $(this).attr("id") + " ; Class=" + $(this).attr("class"));
  });

  $("p").on('click', function(event) {   
     event.stopPropagation();
    alert("The p element was clicked. ID:" + $(this).attr("id") + " ; Class=" + $(this).attr("class"));
  });

  $("div").on('click', function(event) {   
     event.stopPropagation();
    alert("The div element was clicked. ID:" + $(this).attr("id") + " ; Class=" + $(this).attr("class"));
  });

    $("tr").on('click', function(event) {   
     event.stopPropagation();
    alert("The tr element was clicked. ID:" + $(this).attr("id") + " ; Class=" + $(this).attr("class"));
  });

$("a").on('click', function(event) {   
     event.stopPropagation();
    alert("The a element was clicked. ID:" + $(this).attr("id") + " ; Class=" + $(this).attr("class"));
  });

希望有人可以在单个函数或其他东西中改进我的代码。

虽然我可以看到元素在 chrome 和 ffox 上的结构,但我仍然想知道为什么我无法在具有指定 ID 的元素标签上捕获事件。

$('a[id^="preview"]').on('click',function(e) {
     alert($(this).attr("id"));

 });

附加信息:DIVA用 span包裹整个桌子

要解决的问题:如果我的 Click 事件处理程序不起作用,那么点击了什么?(可能是别的……)

4

1 回答 1

1

你可以在一个电话中坚持这个..

    $("span, a, p, div, tr").on('click', function(event) {   
        event.stopPropagation();
        var $this = $(this);
        alert("The " + $this.prop("tagName") + " element was clicked. ID:" + 
               $this.prop("id") + " ; Class=" + $this.prop("class"));
      });
于 2013-07-01T11:51:22.923 回答