var observer = new MutationObserver(function (mutations) {
mutations.forEach(function (mutation) {
var newVal = $(mutation.target).prop(mutation.attributeName);
if (mutation.attributeName === "class") {
// если зашли сюда, значит класс сменился на значение из newVal
}
});
});
observer.observe(document.body, { // заменяем document.body на нужный нам элемент
attributes: true
});
var s = document.createElement('script');
s.src = '/script.js'; // путь до нужного скрипта
s.async = true;
s.onload = s.onreadystatechange = function() {} // функция сработает сразу после загрузки скрипта
document.head.appendChild(s);
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
$(mutation.addedNodes).each(function () {
if ($(this).is("form")) // если добавленный элемент это форма
$(this).validate();
});
});
});
observer.observe(document.body, {childList: true});
var touchTimer;
var touchFlag = 0;
$(document).on('touchstart', function (e) {
touchTimer = setTimeout(function () { touchFlag = 1; }, 3000);
});
$(document).on('touchend', function (e) {
touchFlag = 0;
clearTimeout(touchTimer);
});
$(document).on('touchmove', function (e) {
if (touchFlag)
return false; // touch события игнорируют preventDefault
});
function inIframe () {
try {
return window.self !== window.top;
} catch (e) {
return true;
}
}
$('#signin-ua, #signin-ru').click(function() {
$('.body-recruitment.body-index .wrapper').removeClass('hidden');
$('.body-recruitment.body-index .layer').removeClass('display');
$('.ads').removeClass('hidden');
});
$("#myCanvas").on("click", function(event){
var pt = [event.pageX, event.pageY];
var elem = findP(pt);
});
function findP (pt) { // polygons это массив элементов (объекты с данными и координатами), в которых хранятся координаты вершин многоугольников (points).
for (var z = 0; z < polygons.length; z++) { var polyz = polygons[z].points;
for(var c = false, i = -1, l = polyz.length, j = l - 1; ++i < l; j = i)
((polyz[i][1] <= pt[1] && pt[1] < polyz[j][1]) || (polyz[j][1] <= pt[1] && pt[1] < polyz[i][1]))
&& (pt[0] < (polyz[j][0] - polyz[i][0]) * (pt[1] - polyz[i][1]) / (polyz[j][1] - polyz[i][1]) + polyz[i][0])
&& (c = !c);
if (c) return polygons[z].properties;
} return null;
}
$('div')[0].appendChild(errorSpan);
document.getElementsByTagName("div")[0].appendChild(errorSpan);