2016-08-23 102 views
0

我怎样才能做的动作后点击“child_good”,而不是点击“child_wrong”。但onClick事件必须位于“父级”上。jquery,在父母点击检查子女

<div class="parent"> 
    <div class="child_wrong"></div> 
    <div class="child_good"></div> 
</div> 

<script> 
    $('.parent').on('click', function(){ 

     if($(this).hasClass('child_good')) { 
      alert(1); 
     } 
     return false; 
    }); 
</script> 

回答

2

使用$(event.target)检查点击元素的类。

$('.parent').on('click', function(event){ 
 
    if($(event.target).hasClass('child_good')) { 
 
     alert(1); 
 
    } 
 
    return false; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> 
 
<div class="parent"> 
 
    <div class="child_wrong">aaa</div> 
 
    <div class="child_good">bbb</div> 
 
</div>

0

可以使用Event Delegation事件委托给父母。

$('.parent').on('click', '.child_good', function(event){ 
 
    alert(1); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> 
 
<div class="parent"> 
 
    <div class="child_wrong">aaa</div> 
 
    <div class="child_good">bbb</div> 
 
</div>

+0

我没有得到downvote这应该工作[DEMO](https://jsfiddle.net/b9hfogrd/) – guradio

+0

@guradio,演示添加 – Satpal

+0

这只是一个缺少逗号和他们已经下了投票..悲伤 – guradio