возник момент небольшого непонимания в следующей ситуации. По какой-то причине в коде (по ссылке) при передаче именованной функции на обработчик события - она свой код не выполняет. При передаче анонимной функции - всё работает исправно.
Нажатие ЛКМ на документе - именованная функция, ПКМ - анонимная,
class Obj{
constructor() {
document.onclick = this.show;
this.show = function() {
console.log('left');
}
document.oncontextmenu = () => {
console.log('right');
return false;
}
}
}
var test = new Obj();
в момент присваивания
document.onclick = this.show;
значение this.show
еще не установлено.
Для того, чтобы работало всплытие, нужно использовать определением функции:
function show() {...}
В противном случае идет попытка использовать свойство, значение которому еще присвоено:
class Obj {
constructor() {
document.onclick = show;
function show() {
console.log('left');
}
document.oncontextmenu = () => {
console.log('right');
return false;
}
}
}
var test = new Obj();
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Изучаю создание подсчета количества слов в тексте и не совсем понимаю принцип работы следующего кодаПожалуйста, объясните
Не могу получить частичное представление из метода контроллера, в чем может причина