Bird
Raised Fist0
Reactframework~10 mins

Preventing default behavior in React - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to prevent the default form submission behavior.

React
function MyForm() {
  function handleSubmit(event) {
    event.[1]();
    alert('Form submitted!');
  }

  return (
    <form onSubmit={handleSubmit}>
      <button type="submit">Submit</button>
    </form>
  );
}
Drag options to blanks, or click blank then click option'
ApreventDefault
Bhalt
CstopPropagation
Dcancel
Attempts:
3 left
💡 Hint
Common Mistakes
Using stopPropagation instead of preventDefault
Trying to return false instead of calling preventDefault
2fill in blank
medium

Complete the code to prevent the default link navigation when clicking the anchor tag.

React
function Link() {
  function handleClick(event) {
    event.[1]();
    alert('Link clicked without navigation');
  }

  return <a href="https://example.com" onClick={handleClick}>Click me</a>;
}
Drag options to blanks, or click blank then click option'
AstopPropagation
BpreventDefault
CcancelBubble
Dhalt
Attempts:
3 left
💡 Hint
Common Mistakes
Using stopPropagation which only stops event bubbling
Not calling any method and expecting the link not to navigate
3fill in blank
hard

Fix the error in the event handler to correctly prevent default behavior.

React
function Button() {
  function handleClick(event) {
    event.[1]();
    alert('Button clicked');
  }

  return <button onClick={handleClick}>Click me</button>;
}
Drag options to blanks, or click blank then click option'
ApreventDefault
BstopPropagation()
CpreventDefault()
DstopPropagation
Attempts:
3 left
💡 Hint
Common Mistakes
Forgetting parentheses and writing event.preventDefault instead of event.preventDefault()
Using stopPropagation instead of preventDefault
4fill in blank
hard

Fill both blanks to prevent default behavior and stop event bubbling in the click handler.

React
function CustomButton() {
  function handleClick(event) {
    event.[1]();
    event.[2]();
    alert('Clicked without default or bubbling');
  }

  return <button onClick={handleClick}>Click me</button>;
}
Drag options to blanks, or click blank then click option'
ApreventDefault
BstopPropagation
CcancelBubble
Dhalt
Attempts:
3 left
💡 Hint
Common Mistakes
Using cancelBubble which is not a method but a property
Calling only one of the methods and expecting both behaviors
5fill in blank
hard

Fill all three blanks to prevent default, stop propagation, and log the event type.

React
function LoggerButton() {
  function handleClick(event) {
    event.[1]();
    event.[2]();
    console.log(event.[3]);
  }

  return <button onClick={handleClick}>Click me</button>;
}
Drag options to blanks, or click blank then click option'
ApreventDefault
BstopPropagation
Ctype
Dtarget
Attempts:
3 left
💡 Hint
Common Mistakes
Logging event.target instead of event.type
Not calling the methods with parentheses

Practice

(1/5)
1. What does event.preventDefault() do in a React event handler?
easy
A. Removes the event listener from the element
B. Stops the browser's default action for that event
C. Triggers the event again immediately
D. Logs the event details to the console

Solution

  1. Step 1: Understand the purpose of preventDefault()

    This method stops the browser from performing its usual action, like submitting a form or following a link.
  2. Step 2: Recognize what preventDefault() does not do

    It does not remove listeners, re-trigger events, or log anything automatically.
  3. Final Answer:

    Stops the browser's default action for that event -> Option B
  4. Quick Check:

    preventDefault() = Stops default browser action [OK]
Hint: Remember: preventDefault stops browser's automatic event action [OK]
Common Mistakes:
  • Thinking preventDefault removes event listeners
  • Assuming preventDefault triggers the event again
  • Confusing preventDefault with logging or debugging
2. Which of the following is the correct way to prevent a form submission's default behavior in React?
easy
A. function handleSubmit() { event.preventDefault(); }
B. function handleSubmit(event) { preventDefault(); }
C. function handleSubmit(event) { event.preventDefault(); }
D. function handleSubmit() { preventDefault(event); }

Solution

  1. Step 1: Check the event parameter usage

    The event object must be passed as a parameter to the handler to call preventDefault() on it.
  2. Step 2: Verify the syntax of preventDefault call

    Calling event.preventDefault() inside the handler with event parameter is correct syntax.
  3. Final Answer:

    function handleSubmit(event) { event.preventDefault(); } -> Option C
  4. Quick Check:

    Correct syntax requires event parameter and event.preventDefault() [OK]
Hint: Always include event parameter to call event.preventDefault() [OK]
Common Mistakes:
  • Not passing event parameter to the handler
  • Calling preventDefault without event prefix
  • Trying to call preventDefault without parentheses
3. What will be the output when clicking the link in this React component?
function Link() {
  function handleClick(event) {
    event.preventDefault();
    alert('Link clicked!');
  }
  return <a href='https://example.com' onClick={handleClick}>Click me</a>;
}
medium
A. Only the alert 'Link clicked!' appears, no navigation happens
B. The browser navigates to https://example.com and shows alert
C. Nothing happens on click
D. The link navigates without showing alert

Solution

  1. Step 1: Understand event.preventDefault() effect on link

    Calling event.preventDefault() stops the browser from navigating to the href URL.
  2. Step 2: Check what else happens on click

    The alert('Link clicked!') runs, so the alert appears on click.
  3. Final Answer:

    Only the alert 'Link clicked!' appears, no navigation happens -> Option A
  4. Quick Check:

    preventDefault stops navigation, alert still runs [OK]
Hint: preventDefault stops navigation but lets your code run [OK]
Common Mistakes:
  • Expecting navigation to happen despite preventDefault
  • Thinking alert won't show if preventDefault is called
  • Confusing preventDefault with stopPropagation
4. Identify the error in this React event handler that tries to prevent form submission:
function handleSubmit() {
  event.preventDefault();
  console.log('Submitted');
}
medium
A. The function should return false instead of calling preventDefault
B. Using console.log inside the handler is not allowed
C. preventDefault() should be called after console.log
D. Missing event parameter in the function definition

Solution

  1. Step 1: Check function parameters

    The handler uses event.preventDefault() but does not receive event as a parameter, so event is undefined.
  2. Step 2: Understand consequence of missing event

    This causes a runtime error because event is not defined in the function scope.
  3. Final Answer:

    Missing event parameter in the function definition -> Option D
  4. Quick Check:

    Event object must be passed to handler to call preventDefault [OK]
Hint: Always include event parameter to access event.preventDefault() [OK]
Common Mistakes:
  • Forgetting to add event parameter
  • Thinking preventDefault can be called globally
  • Confusing preventDefault with returning false
5. You want to prevent a form from submitting only if a checkbox is unchecked. Which React event handler correctly implements this behavior?
function handleSubmit(event) {
  // Prevent submission only if checkbox is unchecked
  const checkbox = document.getElementById('agree');
  if (/* condition here */) {
    event.preventDefault();
    alert('You must agree first');
  }
}
hard
A. if (!checkbox.checked) { event.preventDefault(); alert('You must agree first'); }
B. if (checkbox.checked) { event.preventDefault(); alert('You must agree first'); }
C. if (checkbox.value === false) { event.preventDefault(); alert('You must agree first'); }
D. if (checkbox === null) { event.preventDefault(); alert('You must agree first'); }

Solution

  1. Step 1: Check the checkbox condition for preventing submission

    You want to prevent submission if the checkbox is NOT checked, so condition is !checkbox.checked.
  2. Step 2: Confirm preventDefault is called only when checkbox is unchecked

    Calling event.preventDefault() inside this condition stops submission correctly.
  3. Final Answer:

    if (!checkbox.checked) { event.preventDefault(); alert('You must agree first'); } -> Option A
  4. Quick Check:

    Prevent submission when checkbox is unchecked = !checkbox.checked [OK]
Hint: Use !checkbox.checked to detect unchecked state before preventDefault [OK]
Common Mistakes:
  • Using checkbox.checked instead of !checkbox.checked
  • Checking checkbox.value instead of checked property
  • Checking if checkbox is null instead of its checked state
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard