Как открывать новое окно при нажатом контроле в текущей вкладке?
На иконке, обороченной в span висит обработчик onClick с функцией, которая вызывает window.open(url, '_blank', windowParams). При обычном клике открывается как надо - в текущей вкладке в новом окне, как модальное окно, но если открывать ctrl + click то открывает в новой вкладке. Как сделать так, чтобы оно открывалось всегда как модальное окно?
Ответы (2 шт):
Автор решения: School
→ Ссылка
Не проверял, но попробуй
var ctrlDown=false;
document.addEventListener('keydown', function(event) {
if (event.ctrlKe) {
ctrlDown=true;
}
}).addEventListener('keyup',function(event){
if(event.ctrlKe){
ctrlDown=false;
}
});
element.addEventListener('click',function(){
if(ctrlDown) {
//открыть модальное окно
}
})
Автор решения: Setraiser
→ Ссылка
Я нашёл решение. Для того, чтобы всегда создавалось новое окно не смотря на нажатый ctrl - нужно обернуть вызов window.open в setTimeout. Что то вроде этого:
setTimeout(() => {
window.open(url, target, params);
}, 0);