0

我有一个这样的div...

<div class="user">
     <div class="info">
     .....
     </div>
     <div class="edit">
        Edit
     </div>
</div>

在 jquery 我有这样的事情:

 $('user').click(function(){...});
 $('edit').click(function(){...});

如果我点击“编辑”这两个功能都会执行,我不希望这样,如果我点击“编辑”,只有他的功能应该发生。关于如何分离这两个功能的任何想法?

谢谢

4

2 回答 2

3
$('.edit').click(function(e){
   e.stopPropagation();
});

你的选择器是错误的,你必须.在类名之前加上.edit, .user

更多在这里Class Selectors

.stopPropagtion()

您也可以使用.ontoo like 这也适用于动态添加的元素   

$('body').on('click','.edit',function(e){
      e.stopPropagation();
});

笔记

您可以替换body为将始终存在于 dom 中的任何静态父级。父元素越接近,它的性能就越好。

于 2012-06-15T10:57:09.053 回答
0

首先,您需要更正您的选择器。您需要在名称前面有一个.or来表示一个 id 或 class。#

$(".edit").click(function(e){
   e.stopPropagation();
});
于 2012-06-15T10:58:48.337 回答