по событию onBlur я могу получить текущий элемент, но мне надо запрограммировать разное поведение, в зависимости от того, по какому элементу кликнули.
Вероятно, вам нужен relatedTarget: https://jsfiddle.net/yaymer/d6xv2bfe/
let listener = e => {
console.log(e.relatedTarget);
};
Array.from(
document.getElementsByTagName("button"),
btn => btn.addEventListener("blur", listener));
<button>Something</button>
<button>Something2</button>
По-моему, никак. document.activeElement не прокатывает, поэтому остаётся только на фокус подписаться:
document.addEventListener('blur', function (event) {
console.log('blur: ', event.target.id, document.activeElement.id)
}, true)
document.addEventListener('focus', function (event) {
console.log('focus: ', event.target.id, document.activeElement.id)
}, true)
input { width: 3em; }
<input id="a"> <input id="b"> <input id="c"> <input id="d"> <input id="e">
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости