过滤锚标记的点击事件

时间:2012-01-28 11:55:17

标签: jquery events

我有一个div会在点击事件上做一些动画。但是如果我点击同一个锚点(< a href =''>)标签,我不想触发点击事件div。有没有办法让事件来自锚标签? 这是代码片段 https://gist.github.com/1694091

6 个答案:

答案 0 :(得分:2)

在锚定点击停止传播,

$("a").click(function(e) {
        e.stopPropagation();
});

答案 1 :(得分:1)

使用

event.target == $('#anchorElement').get(0);

你也可以这样做:

$('#anchorElement')
 .click(
   function(e)
    {
      e.stopPropagation();
      e.preventDefault();
      return false;
    }
  );

答案 2 :(得分:1)

锚总是有一个名字属性,试试这个:

$("a").click(function(e) {
        if ($(this).hasAttr("name")) {

        }
    else{

    }
})

答案 3 :(得分:1)

制作2个事件 - 1为div,1为链接,并使用(如已建议)stopPropagation停止链接点击也触发div click事件....

$(".stream-cell").on("click", function() {
    //  The div was clicked
});
$(".stream-cell a").on("click" function(e) {
    e.stopPropagation();
    //  The link was clicked
});

答案 4 :(得分:0)

Anchor标签有一个onclick事件,就像dom中的任何其他事件一样。我相信你需要的是拥有

 <a href='' onclick="javascript:return false;">Click ME!</a>

答案 5 :(得分:0)

<script type="text/javascript">
    $('div').on('click', function(e) { 
        if(!$(e.target).is('a')) {
            alert('div clicked, but NOT an a!');
        }
    });
</script>

- 编辑,对不起,太快了,没有用,但这会! (测试)