2016-04-11 16 views
2
woking

Ich habe einen einfachen Code, ich will ein div verstecken, wenn Anwender auf andere div.container oder button innerhalb dieser hier div ist mein CodeToggle ausblenden nicht

$('div, button').click(function(){ 
 
    $('.div').toggle('hide'); 
 
})
div{ 
 
    height: 200px; 
 
    width: 200px; 
 
} 
 
.container{ 
 
    background: pink 
 
} 
 
.div{ 
 
    background: blue 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="container"> 
 
    <button>Click</button> 
 
</div> 
 
<div class="div"></div>

seine Arbeit gut, wenn ich auf container div, aber es funktioniert nicht, wenn ich auf den Button klicken, ich weiß, das Problem ist, dass Sie einen Klick zweimal drücken. aber wie sie beheben, dass

+0

warum nicht Sie $ verwenden ('div.'). Hide()? –

Antwort

5

Sie das DOM stoppen kann, dass durch die Verhinderung der Click-Ereignis von sprudeln und das Auslösen des Click-Ereignis auf dem Elternteil mit .stopPropagation():

$('div, button').click(function(e){ 
 
    e.stopPropagation(); 
 
    $('.div').toggle('hide'); 
 
})
div{ 
 
    height: 200px; 
 
    width: 200px; 
 
} 
 
.container{ 
 
    background: pink 
 
} 
 
.div{ 
 
    background: blue 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="container"> 
 
    <button>Click</button> 
 
</div> 
 
<div class="div"></div>

0

Verwendung unter Jquery für das Problem.

$('.container, button').click(function(){ 
     $('.div').toggle(500); 
     return false; 
    }) 
+2

Dies ist eine falsche Antwort das Problem ist nicht die Methode zum Verstecken des Elements. – Gintoki

+0

@John hast du die Frage gelesen ??? Hier ist es "Ich möchte ein Div ausblenden, wenn der Benutzer auf andere div.Container oder Schaltfläche in diesem div klicken hier ist mein Code" –

+0

Ja, ich lese die Frage, nur das OP-Code-Snippet ausführen und j08691 beantworten und Sie werden das verstehen Deine Antwort ist falsch. – Gintoki

0

Bitte versuchen Sie diese

$('div, button').click(function(){ 
    $('.div').toggle('hide'); 
    console.log("hello"); 
    return false; 
}) 
Verwandte Themen