Size: a a a

2019 May 25

IN

Igor N in javascript_ru
симбиоз jquery и ES6 😃
источник

DE

Denis Efremov in javascript_ru
А где ES6 там?
источник

IN

Igor N in javascript_ru
DevilSAM
простой вопрос (или нет):

вот у меня обычная функция
function choose() {
 alert (this.dataset.name);
}

и ее вызов:
$(".class").on("click", choose);

Работает исправно.

Почему когда я меняю функцию на стрелочную она перестает работать:
const choose = () => {
 alert (this.dataset.name);
}
и как ее оживить? Видимо this как-то по другому начинает работать, да?
тут
источник

D

DevilSAM in javascript_ru
ну да, у меня нет четкого понимания где ES5 / ES6  и как нужно отделять его от jquery
источник

IN

Igor N in javascript_ru
DevilSAM
ну да, у меня нет четкого понимания где ES5 / ES6  и как нужно отделять его от jquery
источник

D

DevilSAM in javascript_ru
посмотрел на разницу вывода this у простой и стрелочной функций...
ппц какой-то. Как мне у этой стрелочной функции вообще найти мой элемент? ))
источник

DE

Denis Efremov in javascript_ru
источник

DE

Denis Efremov in javascript_ru
const choose = (e) => {
 console.log(e.target)
}

$(".class").on("click", choose);
источник

DE

Denis Efremov in javascript_ru
e - event событие
источник

D

DevilSAM in javascript_ru
Denis Efremov
const choose = (e) => {
 console.log(e.target)
}

$(".class").on("click", choose);
ok.
e.target выдает мне img-объект, вложенный в div. Как мне вот этот самый div получить? В нем нужный мне data-name атрибут
источник

S

Sergey Bedritsky in javascript_ru
без jquery 👨‍💻
Для тех кто в танках, вроде свелт от разраба кодсандбокса
ну какбы нет. там чувак из нью йорк таймз, кажется
источник

IN

Igor N in javascript_ru
Denis Efremov
const choose = (e) => {
 console.log(e.target)
}

$(".class").on("click", choose);
а зочем ты пишешь скобочки, если аргумент один?)
источник

DE

Denis Efremov in javascript_ru
Sergey Bedritsky
ну какбы нет. там чувак из нью йорк таймз, кажется
Я кстати, с ним переписывался
источник

DE

Denis Efremov in javascript_ru
DevilSAM
ok.
e.target выдает мне img-объект, вложенный в div. Как мне вот этот самый div получить? В нем нужный мне data-name атрибут
Пройти вверх по дереву элементов
источник

IN

Igor N in javascript_ru
DevilSAM
ok.
e.target выдает мне img-объект, вложенный в div. Как мне вот этот самый div получить? В нем нужный мне data-name атрибут
А может проще повесить слушатель на сам див, а не на изображение?
источник

S

Sergey Bedritsky in javascript_ru
я его встречал в куче проектов до свелте) активный такой в опен соурсе
источник

D

DevilSAM in javascript_ru
кстати, это все хорошо.
Но опять-таки: как мне передавать туда переменную?

let str = "name"
const f = a[str];
f();

так работает? У меня почему-то нет
источник

DE

Denis Efremov in javascript_ru
DevilSAM
кстати, это все хорошо.
Но опять-таки: как мне передавать туда переменную?

let str = "name"
const f = a[str];
f();

так работает? У меня почему-то нет
Напишешь правильно - будет работать
источник

D

DevilSAM in javascript_ru
Igor N
А может проще повесить слушатель на сам див, а не на изображение?
<div class="piece">
     <img src="..." alt="...">
</div>

$(".piece").on("click", choose);

Вот такой код разве не на сам div вешает слушатель???
источник

DE

Denis Efremov in javascript_ru
Ты кликаешь по картинке
источник