<header>
  <h2 class="title">FocusEvent -> relatedTarget</h2>
  <p class="description">Показує елемент, на який або з якого переміщується фокус під час взаємодії.</p>
</header>
<main>
  <div class="result">
    <form id="exampleForm">
      <label for="input1">Поле 1:</label>
      <input type="text" id="input1" placeholder="Введіть текст">
      <br><br>
      <label for="input2">Поле 2:</label>
      <input type="text" id="input2" placeholder="Введіть текст">
      <br><br>
      <button id="submitButton">Надіслати</button>
    </form>
    <p id="log">Фокус ще не змінювався.</p>
  </div>
</main>
body {
  font-size: 16px;
  line-height: 1.5;
  font-family: monospace;
}

header {
  background-color: #f1f1f1;
  margin-bottom: 25px;
  padding: 15px;
  -webkit-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  -moz-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
}

header h2.title {
  padding-bottom: 15px;
  border-bottom: 1px solid #999;
}

header p.description {
  font-style: italic;
  color: #222;
}

.result {
  background-color: #f8f8f8;
  padding: 15px;
  -webkit-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  -moz-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
}

form {
  margin-bottom: 20px;
}

input, button {
  padding: 8px;
  font-size: 14px;
}

#log {
  font-weight: bold;
}
const input1 = document.getElementById('input1');
const input2 = document.getElementById('input2');
const submitButton = document.getElementById('submitButton');
const log = document.getElementById('log');

// Функція для обробки події focusout та виведення інформації про relatedTarget
function handleFocusOut(event) {
  if (event.relatedTarget) {
    log.textContent = `Фокус перемістився з ${event.target.id} на ${event.relatedTarget.id}`;
  } else {
    log.textContent = `Фокус втрачений з елемента ${event.target.id}.`;
  }
}

// Додаємо обробники подій focusout до всіх елементів форми
[input1, input2, submitButton].forEach(element => {
  element.addEventListener('focusout', handleFocusOut);
});

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.