A payload within a GET request message has no defined semantics; sending a payload body on a GET request might cause some existing implementations to reject the request.
метод = function(){
console.log(this)
};
и(не важно как) пихаем его в какие-то объекты.хрень.метод() // this - хрень
хрень.кишки.метод() // this - хрень.кишки
метод() // this - window
хрень.метод.call(хрень.кишки) // this - хрень.кишки
метод.call(хрень.кишки) // this - хрень.кишки
метод.call(null) // this - null
элемент.addEventListener('оппа', хрень.метод) // this -элемент
элемент.addEventListener('оппа', метод) // this -элемент
элемент.addEventListener('оппа', хрень.кишки.продукт.метод) // this -элемент
fn.call(!this ? this : obj)
- это чушь скорее всего. Если this - falsy, то ставим его как this при вызове функции fn, иначе ставим obj. Falsy this может быть только при явном указании(или в strict режиме, при вызове функции напрямую("без точки перед ней")), и скорее всего передача пустого this в таком случае просто сломает выполнение fn.метод = () => {
console.log(this)
};
это можно считать за явное указание this, потому что this тут всегда привязан тот, что был при создании стрелочной функции, независимо от того как и откуда её вызывают. //при наведении указателя
document.querySelector('.map').addEventListener('mousemove', (event) => {
let hoverEffect = document.querySelectorAll('.hover-effect');
for (let i = 0; i < hoverEffect.length; i++) {
hoverEffect[i].style.opacity = '0.5';
}
event.target.style.opacity = '1';
});
//при убирании указателя
document.querySelector('.map').addEventListener('mouseout', () => {
let hoverEffect = document.querySelectorAll('.hover-effect');
for (let i = 0; i < hoverEffect.length; i++) {
hoverEffect[i].style.opacity = '1';
}
});
.hover {
opacity: 0.5;
}
const map = document.querySelector('.map svg');
map.addEventListener('mouseover', onHover);
map.addEventListener('mouseout', onHover);
function onHover({ target: t }) {
this.querySelectorAll('.hover-effect').forEach(n => {
n.classList.toggle('hover', n !== t && this !== t);
});
}
.map:hover .hover-effect {
opacity: 0.5;
}
.map:hover .hover-effect:hover {
opacity: 1;
}
jQuery(function($){
$(document).mouseup(function (e){ // событие клика по веб-документу
var div = $("#popup"); // тут указываем ID элемента
if (!div.is(e.target) // если клик был не по нашему блоку
&& div.has(e.target).length === 0) { // и не по его дочерним элементам
div.hide(); // скрываем его
}
});
});