<header>
<h2 class="title">MouseEvent -> shiftKey</h2>
<p class="description">Відстежує, чи натиснута клавіша "Shift" для активації режиму малювання прямокутників.</p>
</header>
<main>
<div class="result">
<p>Натисніть і утримуйте клавішу "Shift", а потім клікайте, щоб малювати прямокутники.</p>
<div class="drawing-area"></div>
</div>
</main>
body {
font-size: 16px;
line-height: 1.5;
font-family: monospace;
}
header {
background-color: #f1f1f1;
margin-bottom: 25px;
padding: 15px;
box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
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;
box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
}
.drawing-area {
width: 100%;
height: 500px;
background-color: #eef;
position: relative;
border: 2px solid #ccc;
}
.rectangle {
position: absolute;
background-color: red;
width: 50px;
height: 50px;
}
const drawingArea = document.querySelector('.drawing-area');
drawingArea.addEventListener('click', function(event) {
// Перевіряємо, чи була натиснута клавіша Shift
if (event.shiftKey) {
// Створюємо новий елемент - прямокутник
const rectangle = document.createElement('div');
rectangle.classList.add('rectangle');
// Встановлюємо позицію прямокутника за координатами кліку
rectangle.style.left = `${event.offsetX - 25}px`; // Віднімання половини ширини прямокутника для центрування
rectangle.style.top = `${event.offsetY - 25}px`; // Віднімання половини висоти
// Додаємо новий елемент до області малювання
drawingArea.appendChild(rectangle);
} else {
console.log('Клавіша Shift не була натиснута, малювання не активовано.');
}
});
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.