The JS:JS - функции называют дважды один аргумент и две переменные
function modalf(id){
var modal = document.getElementById(id);
window.onclick = function(event) {
if (event.target == modal) {
modal.style.display = "none";
}
}
window.document.onkeydown = function (esc){
if (!esc) esc = event;
if (esc.keyCode == 27)
{
modal.style.display = "none";
}
}
}
Вызов:
modalf('register');
modalf('login');
Небольшая часть HTML: Кнопка открыта модальная:
<button onclick="document.getElementById('login').style.display='block'">Login</button>
modal:
<div id="login" class="modal">
<span>modal text</span>
</div>
Проблема, что у меня есть 2 модала, войдите и зарегистрируйтесь, и я хочу запускать свою функцию каждый раз, когда мне это нужно. Я создал функцию Js, но когда я попытался запустить ее дважды: modalf ('register'); modalf ('login');
только первый работающий, я пытался проверить, работает ли он отдельно ת, и это отлично работает.
У кого-то есть лучшее решение для этого? может быть, что-то хорошее, что я могу использовать функцию для более чем 2 модалов ... может быть, 10 для будущего.
С уважением, Orr.
это работает, если вы положили на второй вызов в SetTimeout? –
Как сказал Сагар, onclick и onkeydown переопределяют их. –