JS властивість Event.mouseup


Загальний опис

Подія mouseup спрацьовує, коли користувач відпускає кнопку миші після її натискання. Ця подія часто використовується разом із mousedown, яка викликається під час натискання кнопки миші, і mousemove для відстеження руху миші під час перетягування елементів. Подія mouseup особливо корисна в інтерфейсах, де потрібно фіксувати кінцевий стан взаємодії з елементом, наприклад, при завершенні перетягування або виконання кліку.

Властивості події mouseup включають:

  • button: визначає, яка кнопка миші була відпущена (0 – ліва, 1 – середня, 2 – права).
  • clientX і clientY: координати курсора миші в момент відпускання кнопки.
  • target: елемент, на якому була відпущена кнопка миші.

Приклад використання mouseup для відстеження події:

document.addEventListener('mouseup', function(event) {
  console.log('Кнопка миші відпущена на координатах:', event.clientX, event.clientY);
});

Як правило, mouseup використовується для завершення певних дій, наприклад, припинення перетягування елемента або підтвердження кліку. Наприклад, у функціоналі для перетягування елементів подія mouseup сигналізує про закінчення процесу перетягування і дозволяє завершити оновлення стану інтерфейсу.

Також можна визначати, яка саме кнопка миші була відпущена, і виконувати різні дії залежно від того, чи це ліва, середня або права кнопка:

element.addEventListener('mouseup', function(event) {
  if (event.button === 2) {
    console.log('Відпущена права кнопка миші');
  }
});

Таким чином, подія mouseup є невід'ємною частиною створення інтерактивних елементів і динамічних взаємодій із користувачем, дозволяючи завершити почату дію після натискання миші.

автор: Bond

Порада

Щоб запобігти виконанню дії браузера за замовчуванням (наприклад, виділення тексту), викликайте event.preventDefault() у обробнику події mouseup.

автор: Bond
Порада

Для визначення, яка саме кнопка миші була відпущена, використовуйте властивість event.button. Це дозволить вам створити специфічну логіку для різних кнопок, наприклад, для виклику контекстного меню при відпусканні правої кнопки.

автор: Bond
Порада

Комбінуйте mouseup з подією click, якщо потрібно обробляти як завершення взаємодії після натискання, так і одноразові кліки. Наприклад, у деяких випадках може бути важливо обробляти завершення натискання без виконання повного циклу mousedown-click.

автор: Bond

Синтаксис

element.addEventListener('mouseup', function(event) {
  // обробка події
});

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
2 6 4 11.6 12 9
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
4.4 18 6 3.2

Приклади

+ запропонувати свій приклад у пісочниці

Цей приклад показує, як можна використовувати подію mouseup для завершення процесу перетягування елемента. Перетягування ініціюється при натисканні на елемент і завершуються, коли користувач відпускає кнопку миші, переміщуючи елемент за координатами курсора під час переміщення.

HTML

<div id="draggable">Демонстраційний елемент</div>

JS

let isDragging = false;
const draggable = document.getElementById('draggable');

draggable.addEventListener('mousedown', function() {
  isDragging = true;
});

document.addEventListener('mousemove', function(event) {
  if (isDragging) {
    draggable.style.left = event.clientX + 'px';
    draggable.style.top = event.clientY + 'px';
  }
});

document.addEventListener('mouseup', function() {
  if (isDragging) {
    isDragging = false;
    console.log('Перетягування завершено');
  }
});
автор: Bond

У цьому прикладі подія mouseup використовується для відстеження, яка саме кнопка миші була відпущена: ліва, середня або права. Це корисно для реалізації різних функцій залежно від того, яку кнопку миші використовує користувач, наприклад, відкриття контекстного меню або виконання певної дії при кліку на середню кнопку.

document.addEventListener('mouseup', function(event) {
  switch(event.button) {
    case 0:
      console.log('Ліва кнопка миші відпущена');
      break;
    case 1:
      console.log('Середня кнопка миші відпущена');
      break;
    case 2:
      console.log('Права кнопка миші відпущена');
      break;
    default:
      console.log('Інша кнопка');
  }
});
автор: Bond

У цьому прикладі, як тільки користувач натискає на квадрат, він може перетягувати його, а після відпускання кнопки миші (mouseup) квадрат фіксує своє нове положення, відображаючи актуальні координати.

автор: Bond

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід