Если использовать один только $.getScript('script/Forms.js'), то не работает
То есть сначала в dom должна произойти загрузка html элемента, а только потом вешается обработчикда
.super-block
не существует в dom, более того этот обработчик не повесится даже после того как .super-block
будет вставлен в dom, например через ajax, в этом случае нужно либо заного инициалировать обработчик после вставки .super-block
в dom, либо использовать делегирование событий.$('button').click(function() {
$.ajax({
method: 'get',
url: '/get-menu-form/',
success: function(menuHTML) {
$('.whatever').html(menuHTML).promise().done(function() {
var script = window.document.createElement('script');
script.src = '/path/to/form.js';
script.async = false;
$('body').append(script);
})
}
})
})
$().on()
. при нажатии на кнопку, ajax'ом грузите разметку с формой и вставляете её в нужное место. всё. из-за делегирования форма будет реагировать на нажатия клавиш. transform: translateY(-100%);
и margin-bottom отрицательный равный высоте .separator. вобщем в эту сторону смотрите