使用jquery的onclick处理程序

gla*_*kou 2 javascript jquery jquery-ui

我有以下代码

<div class="test-123">
   <p>Some Text</p>
   <div class="delete"></div>
   <div class="edit"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

问题是我必须有三个元素的onclick jquery处理程序(test-123,删除和编辑).我面临以下问题.当我点击删除时,test-123的onclick处理程序也会在删除的onclick处理程序被执行后执行.

有办法以某种方式阻止这种情况吗?

Shy*_*yju 5

你在找 stopPropogation

event.stopPropagation()
Run Code Online (Sandbox Code Playgroud)

http://api.jquery.com/event.stopPropagation/

$(function(){   
    $(".test-123").click(function(){
       alert("click on div"); 
    });      
    $(".delete,.edit").click(function(e){
       e.stopPropagation() 
       alert("click on Links"); 
    });    
});?
Run Code Online (Sandbox Code Playgroud)

注释掉这一e.stopPropagation行,看看会发生什么.

工作演示:http://jsfiddle.net/Pjn3s/2/