Try this out in your browser console:
monitorEvents(window)When ________ happens, do _____________.
dblclick
click
keypress
focus
blur
submit
load
element.addEventListener(event, eventHandler, false);When ________ happens, do _____________.
<!-- index.html -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Events!</title>
</head>
<body>
<button> Click me fool </button>
<script src="main.js">
</body>
</html>// main.js
addEventListener("click", function() {
alert("You clicked on the page!");
});<!-- index.html -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Events!</title>
</head>
<body>
<button> Click me fool </button>
<script src="main.js">
</body>
</html>// main.js
var button = document.querySelector("button");
button.addEventListener("click", function(){
alert("SOMEONE CLICKED THE BUTTON!!");
});<!-- index.html -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Events!</title>
</head>
<body>
<button> Click me fool </button>
<script src="main.js">
</body>
</html>// main.js
var button = document.querySelector("button");
button.addEventListener("click", function(){
alert("SOMEONE CLICKED THE BUTTON!!");
});// removing an event
button.removeEventListener("click");// callback MUST be named!
<!-- index.html -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Events!</title>
</head>
<body>
<button> Click me fool </button>
<script src="main.js">
</body>
</html>var button = document.querySelector("button");
function clickAlert() {
alert("SOMEONE CLICKED THE BUTTON!!");
}
button.addEventListener("click", clickAlert);button.removeEventListener("click", clickAlert);var button = document.querySelector("button");
function once() {
console.log("Done.");
button.removeEventListener("click", once);
}
button.addEventListener("click", once);// The Event Object
function logText(event) {
console.log(event.target.innerText);
}
window.addEventListener("click", logText);Create a variable called clickCount in your js file, and set it equal to 0. Modify your event listener so that every time you click on the button, the clickCount increments, and the button text changes to show the user how many times the button has been clicked.
event.targetthis<!-- index.html -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Events!</title>
</head>
<body>
<button> Click me fool </button>
<script src="main.js">
</body>
</html>var button = document.querySelector("button");
function logText(event) {
console.log(event.target.innerText);
}
button.addEventListener("click", logText);var button = document.querySelector("button");
function logText() {
console.log(this.innerText);
}
button.addEventListener("click", logText);<!-- index.html -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Events!</title>
</head>
<body>
<div>
<p>I'm a p tag!</p>
<button>I'm a button!</button>
</div>
<script src="main.js">
</body>
</html>var div = document.querySelector("div");
function logText() {
console.log(this.innerText);
}
div.addEventListener("click", logText);var div = document.querySelector("div");
function logText(event) {
console.log(event.target.innerText);
}
div.addEventListener("click", logText);- reference to the element attached to listener
- reference to the element firing the event
event.targetthisvar foo = document.getElementById("foo");
foo.addEventListener('click', someFunction);
// Then I click on the button<div id="foo">
<button> Click </button>
</div>What is `event.target` and what is `this`?
Listen for a click event on all <p> tags
for loop
listener on containing element
<!-- index.html -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Events!</title>
<script src="main.js">
</head>
<body>
<img src="https://media.giphy.com/media/qANK09622WD5u/giphy.gif" alt="">
</body>
</html>var img = document.querySelector('img');
function imgLog() {
console.log("You moused over Mega Man!");
}
img.addEventListener('mouseover', imgLog);function imgLog() {
console.log("You moused over Mega Man!");
}
window.onload = function() {
var img = document.querySelector('img');
img.addEventListener('mouseover', imgLog);
}function imgLog() {
console.log("You moused over Mega Man!");
}
document.addEventListener("DOMContentLoaded", function() {
var img = document.querySelector('img');
img.addEventListener('mouseover', imgLog);
});