После выполнения ajax (если кликнуть на маркере Демо содержимое загрузится в пользовательской области) перестает работать javascript темы (кнопка закрыть не прячет форму).
После повторного клика на маркер, javascript темы начинает работат.
В чем может быть причина? Как это можно исправить?
Javascript темы:
$(document).ready(function () {
$('#pointer').click(function () {
if ($('.switch').hasClass('block-left-side-hide')) {
$('.switch').removeClass('block-left-side-hide').addClass('block-left-side-region');
} else $('.switch').removeClass('block-left-side-region').addClass('block-left-side-hide');
});
$('#FilterClose').click(function () {
$('.switch').removeClass('block-left-side-region').addClass('block-left-side-hide');
});
function checkHidden(id){
if (jQuery("#"+id).hasClass("hidden")){
jQuery("#"+id).removeClass("hidden")
} else {
jQuery("#"+id).addClass("hidden")
}
};
$('#problemFormClose').click(function () {
checkHidden('problemForm');
});
$('#problemContentClose').click(function () {
checkHidden('problemContent');
});
});
})(jQuery);
В JS модуля:
for (var leaflet_id in lMap._layers) {
lMap._layers[leaflet_id].on('click', function(e) {
var id = e.target ? e.target.feature_id : null;
if (!id && e.layer) id = e.layer.feature_id;
if (id) {
jQuery.ajax({
type: 'GET',
url: Drupal.settings.basePath + 'load_node/' + id,
dataType: 'html',
success: function(data){
if (jQuery("#problemContent").hasClass("hidden")){
jQuery("#problemContent").removeClass("hidden")
}
if (!jQuery("#problemForm").hasClass("hidden")){
jQuery("#problemForm").addClass("hidden")
}
jQuery('#ajax-result').html(data);
},
});
}
});
}
});
Комментарии
https://habrahabr.ru/post/161039/
Спасибо за ссылку.
Решил следующим способом заменил:
$(document).ready(function () {
на
$(document).bind("ready", function () {