Konvajs. Как получить объект при нажатии?

202
07 ноября 2018, 07:30

Работаю с konva У меня есть массив квадратов такого типа

let square= new Konva.Rect({
              x:cur_x,
              y:cur_y,
              width:seg_size,
              height:seg_size,
              stroke:"black",
              fill:"green",
              name:"rect"
          });

Получаю я их всех так:var s=stage.find(".rect"); Теперь мне надо при нажатии на один из квадратов получить его позицию. Делаю так

s.on("click",()=>{
   console.log(this.getClientRect().x)
});

Но получаю TypeError: this.getClientRect is not a function. Как получить елемент находящийся в массиве(группе)?

Answer 1

Цитата из документации к стрелочным функциям:

Выражения стрелочных функций имеют более короткий синтаксис по сравнению с функциональными выражениями и лексически привязаны к значению this (но не привязаны к собственному this, arguments, super, или new.target). Стрелочные функции всегда анонимные.

Попробуйте заменить на s.on("click",function () { console.log(this.getClientRect().x) });

READ ALSO
Выдернуть значение тега выше на одно дом дерево элемента. JS/JQuery

Выдернуть значение тега выше на одно дом дерево элемента. JS/JQuery

При нажатие на картинку выполняется этот код modalImgsrc = this

170
Стоит ли детально изучать массивы и переменные детально? [закрыт]

Стоит ли детально изучать массивы и переменные детально? [закрыт]

Всем привет, есть такой вопрос, стоит ли изучать массивы и переменные детально? Видел их использование в видеоуроках Javascript, переменные все...

164
Как в JS ES6 классах унаследовать свойство родителя, чтобы дальше передать его для вычисления

Как в JS ES6 классах унаследовать свойство родителя, чтобы дальше передать его для вычисления

Есть input type="date" при его изменении вычисляется значение, как это значение передать дочернему классуЧитал справку, там передаются параметры,...

188