Jquery:用于捕获实际元素的函数

时间:2013-07-01 11:49:06

标签: javascript jquery

这似乎与我以前的question有关,但我的目的是:

目的:对要点击的实际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事件处理程序不起作用,那么点击什么? (可能是别的......)

1 个答案:

答案 0 :(得分: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"));
      });