Beispiel:JS-DOM-Tut-5b.html

Aus SELFHTML-Wiki
Wechseln zu: Navigation, Suche
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link rel="stylesheet" media="screen" href="./Beispiel:SELFHTML-Beispiel-Grundlayout.css">  
  <title>Events und stopPropagation</title>
<script>
'use strict';
document.addEventListener('DOMContentLoaded', function () {

  let div = document.querySelector('div');
  let button = document.querySelector('button');
	
  div.addEventListener('click', () => {
		event.currentTarget.classList.add('chosen');
    console.log('Event-Handler für Div.');
  });
  button.addEventListener('click', event => { 
		event.currentTarget.classList.add('chosen');
    console.log('Event-Handler für Button.');
		if (document.getElementById('check').checked) {
			event.stopPropagation();
		}
  });
 
});
 
</script>  
<style>
div {
	width: 20em;
	height: 20em;
	margin-right: 2em;
	border: thin solid;
	border-radius: 0 0.8em 0.8em;
	display:inline-block;
}
div h2 {text-align:center;}

button {
	margin: 8em auto;
	width: 8em;
	height: 4em;
	display: block;	
}

div.chosen {
	background-color: #dfac20;
}

button.chosen {
	background-color: #337599;
	color: white;
}

kbd {
    background: #f9f9f9 linear-gradient(to bottom, #eee, #f9f9f9, #eee) repeat scroll 0 0;
    border: thin solid #aaa;
    border-radius: 2px;
    box-shadow: 1px 2px 2px #ddd;
    font-family: inherit;
    font-size: 0.9em;
    padding: 0 0.5em;
}

</style>
</head>
 
<body>
  <h1>Events und stopPropagation</h1>
  
  <div> 
  	<h2>Mit oder ohne <br><code>Event.stopPropagation</code></h2>
	  <button>Drück mich!</button>
	</div>
  
<p>
	<label for="check">Stop propagation:</label>
	<input type="checkbox" id="check">
</p>
<p>Öffnen Sie die Konsole (<kbd>F12</kbd>) für weitere Informationen.</p> 
 
</body>
</html>