Как отвязать событие onclick после четырех кликов?

Необходимо чтобы обработка клика мышкой заканчивалась после (4 кликов) т.е. в массиве coordinate появилось 4 подмассива с координатами кликов. Помогите плиз.

let mouseCoordsLayer = document.getElementsByClassName('CameraImg')[0];
    let coordinate = [];
    let MouseCoords = {
        // X-координата
        getX: function (e) {
            if (e.pageX) {
                return e.pageX;
            } else if (e.clientX) {
                return e.clientX + (mouseCoordsLayer.documentElement.scrollLeft || mouseCoordsLayer.scrollLeft) - mouseCoordsLayer.documentElement.clientLeft;
            }
            return 0;
        },
        // Y-координата
        getY: function (e) {
            if (e.pageY) {
                return e.pageY;
            } else if (e.clientY) {
                return e.clientY + (mouseCoordsLayer.documentElement.scrollTop || mouseCoordsLayer.scrollTop) - mouseCoordsLayer.documentElement.clientTop;
            }
            return 0;
        }
    };
    mouseCoordsLayer.onclick = function (e) {
        let div = document.createElement("div");
        div.className = 'checkpoint';
        div.style.top = MouseCoords.getY(e) - 10 + 'px';
        div.style.left = MouseCoords.getX(e) - 10 + 'px';
        mouseCoordsLayer.appendChild(div);
        coordinate.push([MouseCoords.getX(e), MouseCoords.getY(e)]);
        console.log(coordinate);
    }
  • Вопрос задан
  • 80 просмотров
Решения вопроса 1
hzzzzl
@hzzzzl
объявить функцию обработчик клика отдельно, а не "анонимно", и removeEventListener

https://codepen.io/anon/pen/BeYZVp?editors=1010

да или просто
if (coordinate.length > 3) return
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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