Но что возвращает return this.on(...); ? Если ничего, то в чем суть?
Returns a reference to the EventEmitter, so that calls can be chained
$(".account_ads_more_block").toggleClass("active");
$(this).next(".account_ads_more_block").toggleClass("active");
fullField[field_name].value = element[field_name] || 'NULL';
fullField[field_name] = Object.assign(
{},
fullField[field_name],
{ value: element[field_name] || 'NULL' },
);
$this.elements.style.transform = "scale(0)"; $this.elements.style.transform = "scale(1)";
$this.elements.offsetTop;
, например (ага, просто обращение к свойству, ничего более) - будет работать как вы хотите. М-м-магия? Никак нет. Рекомендую к прочтению. const found = Object.keys(obj).filter(n => n.toLowerCase().includes(search));
const SHOW = 2;
const button = document.querySelector('button');
const out = document.querySelector('#out');
button.addEventListener('click', showFound);
showFound();
function showFound() {
out.insertAdjacentHTML('beforeend', found
.splice(0, SHOW)
.map(n => `<div>${n}</div>`)
.join('')
);
button.disabled = !found.length;
}
const fullOptions = Object.assign({}, defaultOptions, options);
// или
const fullOptions = { ...defaultOptions, ...options };
const concat = (key, ...arrs) =>
Object.values([]
.concat(...arrs)
.reduce((acc, n) => (acc[n[key]] = acc[n[key]] || n, acc), {})
);
const newFirst = concat('hour', first, hours);
function add(key, target, ...sources) {
const keys = new Set(target.map(key));
sources.forEach(arr => arr.forEach(n => {
const k = key(n);
if (!keys.has(k)) {
keys.add(k);
target.push(n);
}
}));
return target;
}
add(n => n.hour, first, hours).sort((a, b) => a.hour - b.hour);
$('#courses').hover(function() {
$('#coursesHeader').dequeue().show();
}, function() {
$('#coursesHeader').delay(1000).queue(function() {
$(this).hide().dequeue();
});
});
let timeout = null;
$('#courses').hover(function() {
clearTimeout(timeout);
$('#coursesHeader').show();
}, function() {
timeout = setTimeout(() => $('#coursesHeader').hide(), 1000);
});
$('<div class="list" />')
.append([...Array(100)].map((n, i) => `<div>Item ${i}</div>`).join(''))
.appendTo('body');
const li = $('.list').children();
let selected = $();
$(window).on('keydown', function(e) {
e.preventDefault();
const [ method, index ] = ({
ArrowUp: [ 'prev', -1 ],
ArrowDown: [ 'next', 0 ],
})[e.key] || [];
if (method) {
const next = selected.removeClass('selected')[method]();
selected = (next.length ? next : li.eq(index)).addClass('selected');
$(this).scrollTop(selected.position().top);
}
});
localStorage.setItem('time', ticks);
// если значение отсутствует, то будет установлен 0, т.к. +null === 0
var ticks = +localStorage.getItem('time');