2010-12-20 17 views
0

nur ein wenig hilfe hier für jquery selector .. das problem ist wenn ich klicke (".x"), das (".bigCon") wird auch auslösen .. ich will nur das (".bigcon ") wird das Ereignis Onclick dann alert (" schwarz") .. sorry für ein bisschen verwirrend ..: Djquery selector: übergeordnetes problem

<html> 
<head> 
    <title></title> 
    <script type="text/javascript" src="jquery-1.4.2.js"></script> 
    <script> 
     $(document).ready(function(){ 
      $(".x").click(function(){ 
       $(".evClick").removeClass("evClick").addClass("sample"); 
       $(this).addClass("evClick"); 
      }).mouseover(function(){ 
       $(this).toggleClass("evHover"); 
      }).mouseout(function(){ 
       $(this).toggleClass("evHover"); 
      }); 

      $(".bigCon").click(function(){ 
       alert("black"); 
      }); 
     }); 
    </script> 
    <style> 
     .x { 
      width:100px; 
      height:100px; 
      margin:10px; 
     } 

     .bigCon { 
      background:black; 
      width:240px; 
      height:540px; 
     } 

     .sample {background:red;}    
     .evHover {background:green;}    
     .evClick {background:yellow;} 

    </style> 
</head> 
<body> 
    <div class="bigCon"> 
     <div class="sample x"></div> 
     <div class="sample x"></div> 
     <div class="sample x"></div> 
     <div class="sample x"></div> 
     <div class="sample x"></div> 
    </div>   
</body> 
</html> 

Antwort

3

Blick in event.stopPropagation(). Sie würden es wie folgt verwenden:

$(".x").click(function(e){ 
    e.stopPropagation(); 
    your_click_actions_here(); 
    // etc 
}) 

Click-Ereignisse auf .x abfeuert, wird aber nicht Blase den DOM-Baum-Elemente zu umschließen oben, wie div.bigCon.

+0

danke sir .. –