Задать вопрос
@derasoft

Как сделать, чтобы DIV не перехватывал onclick() в BUTTON?

У меня есть <div>, который я использую в качестве окна. В этом окне есть кнопка, которое закрывает это окно.
Я задаю функции в нём следующим образом (that это div-окно):

that.close_bt = that.querySelector('button');
		that.close_bt.id = this.list.length-1; //здесь  я указываю кнопке, какое именно окно она должна закрывать
		that.close_bt.onclick = function() {
			win_con.list[this.id].remove();
		}
		that.eventAnchor = 'window';
		that.onmousedown = dragndrop;

То есть, окно должно перетаскиваться, а при нажатии на кнопку - закрываться. Однако, правильно это работает только в Firefox, в остальных браузерах dragndrop берёт приоритет над функцией кнопки (если не задавать окну dragndrop, то окно закрывается как и должно). Как мне остановить перехват функции кнопки функцией окна?
  • Вопрос задан
  • 139 просмотров
Подписаться 1 Простой 3 комментария
Решения вопроса 1
@derasoft Автор вопроса
Спасибо пользователям szQocks и Kentavr16 за наводку!
Видимо, дело было в том, что onclick обрабатывается после mousedown, И всплытии одновременно. В общем, если поставить оба события как mousedown, и уже вместе с этим изменением поставить в кнопку
event.stopPropagation(), код будет работать как надо.
that.close_bt.onmousedown = function(event) {
	event.stopPropagation();
	win_con.list[this.id].remove();
}
that.onmousedown = dragndrop;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы