freeCodeCamp/curriculum/challenges/english/04-data-visualization/json-apis-and-ajax/handle-click-events-with-ja...

2.5 KiB

id title challengeType
587d7fad367417b2b2512be1 Handle Click Events with JavaScript using the onclick property 6

Description

You want your code to execute only once your page has finished loading. For that purpose, you can attach a JavaScript event to the document called DOMContentLoaded. Here's the code that does this:
document.addEventListener('DOMContentLoaded',function() {

});
You can implement event handlers that go inside of the DOMContentLoaded function. You can implement an onclick event handler which triggers when the user clicks on the element with id getMessage, by adding the following code:
document.getElementById('getMessage').onclick=function(){};

Instructions

Add a click event handler inside of the DOMContentLoaded function for the element with id of getMessage.

Tests

tests:
  - text: Your code should use the <code>document.getElementById</code> method to select the <code>getMessage</code> element.
    testString: assert(code.match(/document\s*\.getElementById\(\s*?('|")getMessage\1\s*?\)/g), 'Your code should use the <code>document.getElementById</code> method to select the <code>getMessage</code> element.');
  - text: Your code should add an <code>onclick</code> event handler.
    testString: assert(typeof document.getElementById('getMessage').onclick === 'function', 'Your code should add an <code>onclick</code> event handler.');

Challenge Seed

<script>
  document.addEventListener('DOMContentLoaded',function(){
    // Add your code below this line


    // Add your code above this line
  });
</script>
<style>
  body {
    text-align: center;
    font-family: "Helvetica", sans-serif;
  }
  h1 {
    font-size: 2em;
    font-weight: bold;
  }
  .box {
    border-radius: 5px;
    background-color: #eee;
    padding: 20px 5px;
  }
  button {
    color: white;
    background-color: #4791d0;
    border-radius: 5px;
    border: 1px solid #4791d0;
    padding: 5px 10px 8px 10px;
  }
  button:hover {
    background-color: #0F5897;
    border: 1px solid #0F5897;
  }
</style>
<h1>Cat Photo Finder</h1>
<p class="message">
  The message will go here
</p>
<p>
  <button id="getMessage">
    Get Message
  </button>
</p>

Solution

// solution required