@AheadOfAll

Поп-ап с Java-script не получается сделать?

Скрипт поп-ап окна.
В поп-апе обратная связь, при нажатии на тег попап закрывается.
В скрипте есть коммент - но как я не пробовал не могу понять как туда добавить.

Вот скрипт:
window.onkeyup = okno; // нажатие Esc, см. условие "e.keyCode==27" 
document.getElementById('popup').onclick = okno;

function okno(e) {
  if (e.target.nodeName != 'DIV' && e.target.nodeName != 'FIGCAPTION' || e.keyCode==27) { // через && перечисляются теги, клинкув на которые окно не будет закрыто; сюда же можно включить тег A или IFRAME 
    document.getElementById('popup').style.display='none';
    localStorage.setItem('popup1', 'none');
  }
}
  • Вопрос задан
  • 381 просмотр
Пригласить эксперта
Ответы на вопрос 3
Ты вешаешь обработчик, который еще не объявлен.
function okno(e) {
if (e.target.nodeName != 'DIV' && e.target.nodeName != 'FIGCAPTION' || e.keyCode==27) { // через && перечисляются теги, клинкув на которые окно не будет закрыто; сюда же можно включить тег A или IFRAME
document.getElementById('popup').style.display='none';
localStorage.setItem('popup1', 'none');
}
}

window.onkeyup = okno; // нажатие Esc, см. условие "e.keyCode==27"
document.getElementById('popup').onclick = okno;
Сначала объявляешь функцию, потом биндишь ее на событие
Ответ написан
Комментировать
@AheadOfAll Автор вопроса
Совсем не то что надо. И так харошо работает! Нужно лишь что бы при нажатии на инпут он не закрывался
Ответ написан
Комментировать
Для наглядности можно добавить скобки:

if ((e.target.nodeName != 'DIV' && e.target.nodeName != 'FIGCAPTION') || e.keyCode == 27) { /* ... */ }

Они никак не влияют на результат и комментарий подразумевает расширение условия именно внутри них.

В вашем случае:

if ((e.target.nodeName != 'DIV' && e.target.nodeName != 'FIGCAPTION' && e.target.nodeName != 'INPUT') || e.keyCode == 27) { /* ... */ }
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы