javascript - problem z kolejnoscia zdarzen

0

Witam

Mam problem związany ze zdarzeniami stworzyłem sobie diva a wewnątrz niego mniejszego diva który pełni funkcje zamknięcia/usunięcia tego większego

<div onclick='pokaz()'>
   <div onclick='zamknij()'>zamknij</div>
</div>

problem polega na tym ze jak uruchamiam funkcje zamknij(); to się zamyka a następne w kolejności zdarzenie po zamknięciu następuje pokaz(); to chyba z tego względu że ten mniejszy div jest w obrębie tego dużego. jakie rozwiązanie na ów bolączkę preferujecie?

0

Wywalić jeden div z drugiego. Najprościej.

0

niedodawanie zdarzeń przez onclick
https://developer.mozilla.org/pl/docs/DOM/element.addEventListener

  • poczytanie o events bubbling
0

znalazłem taki prosty przykładzik za pomocą onclick może komuś się przyda:

<html>
<head>
   <title>Przykład</title>
   <style type="text/css">
     #kontener div { border: solid 1px silver; background-color:#bce8f1; height: 50px; width: 50px; margin: 30px; float: left;}
     #kontener {background-color: #F0F0F0; width: 250px;}
   </style>
</head>

<body>
<div id="kontener" onclick="nacisnij(555,event)"> 
   <div id="t1" onclick="nacisnij(1,event)">1</div><div id="t2" onclick="nacisnij(2,event)">2</div> 
   <div id="t3" onclick="nacisnij(3,event)">3</div><div id="t4" onclick="nacisnij(4,event)">4</div> 
</div>

<script type="text/javascript">
function nacisnij(id,e){
    alert("nacisnij="+id);
    myEventHandler(e);
}

function myEventHandler(e) {
    if (!e) e = window.event;
    if (e.stopPropagation) {
      e.stopPropagation();
    }
    else {
      e.cancelBubble = true;
    }
}
</script>

</body>
</html>
0

Tak, zatrzymanie bubblingu to jest sposób, celowo go przemilczałem (choć podałem linki do event bubblingu, gdzie pewnie o tym pisze), bo onclick i ogólnie skrypty w szablonie to brzydka rzecz i fajnie by było, jakbyś uczył się programować "dobrze" już od początku.

1 użytkowników online, w tym zalogowanych: 0, gości: 1