JavaScript event listeners

Event Listeners in JavaScript

Given the following HTML:
<!DOCTYPE html>
<html lang="en" dir="ltr">

<head>
  <meta charset="utf-8">
  <title>Drum Kit</title>
  <link rel="stylesheet" href="styles.css">
  <link href="https://fonts.googleapis.com/css?family=Arvo" rel="stylesheet">
</head>

<body>

  <h1 id="title">Drum Kit</h1>
  <div class="set">
    <button class="w drum">w</button>
    <button class="a drum">a</button>
    <button class="s drum">s</button>
    <button class="d drum">d</button>
    <button class="j drum">j</button>
    <button class="k drum">k</button>
    <button class="l drum">l</button>
  </div>


    <script src="index.js"></script>
</body>

</html> 
Adding an event listener is as follows:
var drums = document.getElementsByClassName("drum");
for(var k = 0; k < drums.length; k++)
{
    drums[k].addEventListener("click", function () {
        this.style.color = "purple";
    });
}
For keyboard presses, one can register an event listener on the entire document, like so:
document.addEventListener("keydown", function (event) { 
    var key = event.key
    doWork(key);
});

Objects in JavaScript

Objects in JavaScript without a factory are as follows:
var car1 = {
  numberOfDoors: 2,
  name: 'Corvette',
  availableEngineTypes: ['v6','v8']  
};

Constructors in JavaScript

function Car(numberOfDoors, name, availableEngineTypes)
{
    this.numberOfDoors = numberOfDoors;
    this.name = name;
    this.availableEngineTypes = availableEngineTypes;
    this.drive = function() {
        alert("Drive in progress");
    }
}

Higher Order Functions

Functions such as addEventListener are higher order functions as they take functions as input. The function that is input to the higher order function in the case of the addEventListener is called a callback function.

Add delay in JS

var delayInMillis = 100; 
setTimeout(function() { 
    doWork();
},delayInMillis);

References

The Complete 2020 Web Development Bootcamp Udemy

Comments

Popular posts from this blog

QTreeView and QTableView dynamic changes

C++ strings and string_view