Как не учитывать событие click? | Sololearn: Learn to code for FREE!
New course! Every coder should learn Generative AI!
Try a free lesson
0

Как не учитывать событие click?

var floatingBadge = document.createElement("div"); floatingBadge.style.position = "absolute"; floatingBadge.style.top = "100px"; floatingBadge.style.left = "100px"; floatingBadge.style.zIndex = "9999"; floatingBadge.style.backgroundColor = "#303030"; floatingBadge.style.color = "#f0f0f0"; floatingBadge.style.width = "150px"; floatingBadge.style.height = "30px"; floatingBadge.style.borderRadius = "10px"; floatingBadge.style.textAlign = "center"; floatingBadge.style.padding = "8px 10px 10px 10px"; floatingBadge.style.userSelect = "none"; floatingBadge.innerText = "No badge!"; floatingBadge.id = "floatingBadge"; floatingBadge.ondragstart = function(){return false;} document.body.appendChild(floatingBadge); floatingBadge.onmouseover = function(){floatingBadge.style.cursor = "grab";} floatingBadge.onmouseout = function(){floatingBadge.style.cursor = "default";} function onMouseDown(event){ let shiftX = event.clientX - floatingBadge.getBoundingClientRect().left; let shiftY = event.clientY - floatingBadge.getBoundingClientRect().top; floatingBadge.style.cursor = "grabbing"; //moveAt(event.pageX, event.PageY); function moveAt(pageX, pageY){ floatingBadge.style.left = pageX - shiftX + "px"; floatingBadge.style.top = pageY - shiftY + "px"; } function onMouseMove(event){ moveAt(event.pageX,event.pageY); } document.addEventListener("mousemove",onMouseMove,true); function onMouseUp(){ floatingBadge.style.cursor = "grab"; document.removeEventListener("mousemove",onMouseMove,true); floatingBadge.removeEventListener("mouseup",onMouseUp,true); } floatingBadge.addEventListener("mouseup",onMouseUp,true); } floatingBadge.addEventListener("mousedown",onMouseDown,true); floatingBadge.addEventListener("click",pasteBadge); Вот код создаваемого элемента, который можно перетаскивать. Вопрос состоит в том что мне нужно чтобы после окончания перетаскивания не срабатывало событие click.

30th Mar 2021, 1:24 PM
Влад Цислевский
Влад Цислевский - avatar
4 Answers
0
Milion raznix variantov. Peregruzit i ne puskat dalshe, zapomnit xy i sravnivat s tekuahei poziciei. Konechno luche sdelat addeventlistenere i Vernut v funkcii false.
30th Mar 2021, 7:57 PM
george
george - avatar
0
Дело в том что по клику див должен запускать функцию. Но ТОЛЬКО не тогда когда тягаю его
30th Mar 2021, 9:25 PM
Влад Цислевский
Влад Цислевский - avatar
0
Nu mojno na mousemove removeeventlostener delat a na mouse up zadavat. Mojet takoe pomojet. Net shas pod bokom kpmpa chtob prpverit
31st Mar 2021, 4:13 AM
george
george - avatar
0
Так не пойдёт потому что когда я буду просто клткать то по каждому mouseup будет добавляться обработчик.
31st Mar 2021, 11:43 PM
Влад Цислевский
Влад Цислевский - avatar