Есть js файл со скриптами:
var moduleApp = {
'init': function () {
this.initGlobals();
this.initGlobalsEvents();
this.startupMessage();
this.executeModules();
this.confirmLocationPopup();
this.loaderImages();
this.pageLoader();
this.pagePreLoader();
this.wowInit();
this.scrollMagicInit();
this.buttonFill();
this.openJobModal();
// this.stickyHeaderInit();
},
'filter': function () {
var selects = $('.page-catalog__filter__item select');
selects.select2({
minimumResultsForSearch: Infinity,
});
},
'stickyHeaderInit': function () {
$(document).ready(function () {
new Sticky('.is-header');
});
}, ....
На странице есть кнопка, которая вызывает функцию this.openJobModal();
Самая функция:
'openJobModal': function () {
var btn = $('.js-open-modal');
btn.fancybox({
wrapCSS: 'fb-job-modal',
padding: 0,
margin: 0,
autoScale: false,
fitToView: false,
openSpeed: 300,
closeSpeed: 300,
nextSpeed: 300,
prevSpeed: 300,
toolbar: false,
afterShow: function () {
conf.nodeBody.addClass('body-state-fancy');
// this modal parent
var $thisFancy = $('.fancybox-inner');
moduleApp.executeModules($thisFancy);
$('.js-acc-open').click(function (e) {
e.preventDefault();
var $this = $(this);
var $currentAccItems = $this.closest('.is-accordion').find('.ia-item');
var $currentAccWrapper = $this.closest('.is-accordion').find('.ia-content-wrapper');
var $currentItem = $this.closest('.ia-item');
var $currentWrapper = $currentItem.find('.ia-content-wrapper');
var cH = $currentItem.find('.ia-content').height();
if ($currentItem.hasClass('active')) {
if (!$this.hasClass('state-unclose')) {
$currentItem.removeClass('active');
$currentWrapper.removeAttr('style');
}
} else {
$currentAccItems.removeClass('active');
$currentItem.addClass('active');
$currentAccWrapper.removeAttr('style');
$currentWrapper.attr('style', 'height:' + cH + 'px;');
}
});
},
beforeClose: function () {
conf.nodeBody.removeClass('body-state-fancy');
},
afterClose: function () {
conf.fancyStatus = false;
}
});
Так вот, проблема в том, что при клике на кнопку, заново инициализируется полностью js файл и все функции внутри moduleApp этого файла срабатывают заново, как это пофиксить, чтобы при клике вызывалась функция только this.openJobModal(); ?
Если нужно, могу приложить весь файл js