2015-10-04 22 views
6

zakładając mam to HTML:Jak mogę wyłączyć wiązania na div

<body> 
    <div id="topbar"> 
     First block here. 
     <p>Another block here.</p> 
    </div> 
    <div class="header"> 
     <div class="container"></div> 
    </div> 
    <div id="footer">Footer</div> 
</body> 

Jak mogę wyłączyć bind na div#topbar?

$('body').bind('mouseover mouseout', function(event) { }); 

już próbować to bez powodzenia:

if($(event.target).is('#topbar')) { //do nothing } 
else { //do stuff } 

Faktycznie, mój problem jest, jeśli robię po najechaniu myszką na metce p, kod nie działa.

PS: nie mam żadnej kontroli nad HTML więc muszę używać wspólnego tag jak body.

Dzięki.

Odpowiedz

1

Spróbuj utworzyć inny div do reszty ciała:

<body> 
    <div id="topbar">hello 
     <div>How<br>are<br>you<br>today<br>?</div> 
    </div> 
    <div id="mouseEvent"> 
     <div class="header"> 
      <div class="container"></div> 
     </div> 
     <div id="footer">Footer</div> 
    </div> 
</body> 

i JS:

$('body').bind('mouseover mouseout', function(event) { 
    var list = $('#topbar').find("*"); 
    if($(event.target).is("#topbar") || $(event.target).is(list)) { 
     alert("hello"); 
    } else { 
     alert("footer"); 
    } 
}); 

aktualizacja: JSFiddle

+0

Jak ja nie wiem, czy #mouseEvent istnieje na stronie Nie mogę tego użyć. Muszę używać wspólnego tagu, takiego jak ciało. – PacPac

+0

@PacPac ok one moment – morha13

+0

@PacPac Zaktualizowana odpowiedź – morha13