Рекомендуемые сообщения

ArtemPitov    420

1) Скрыть элемент по клику на пустую область 

$(document).on('click', function (e) 
{
    var container = $('this element');

    if( e.target != container[0] && !container.has(e.target).length )
      container.hide();
});

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
ArtemPitov    420

2) Проверяем наличие атрибута в элементе. В моем примере проверяем наличие любого класса в body.

Возвращаемое значении: true | false 

if ( $('body').is('[class]') ) 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
ArtemPitov    420

Отправка AJAX (json) на JS

var xhr = new XMLHttpRequest();
xhr.open('GET', 'ACTION', true);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.setRequestHeader('Cache-Control', 'no-cache');
xhr.send();
			
xhr.onloadend = function () 
{
  if ( xhr.status !== 200 ) {
    alert(xhr.status + ': ' + xhr.statusText);
    return false;
  }

  var json = JSON.parse(xhr.responseText);
}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
ArtemPitov    420

hover для динамических элементов на jquery

$('body').on("mouseenter mouseleave", "element", function(e) { 
  if (e.type == "mouseenter") {  }
  if ( e.type == "mouseleave") {  }
});

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
SooR    133

Helper для определения активности окна (вкладки) браузера

var isWinFocus = true;

$(window).on('blur focus', e => isWinFocus = (e.type == 'focus'));

Предотвращаем закрытие BS Dropdown на элементах с соотв. классом

$(document).on('click', '.dropdown .dropdown-prevent', e => e.preventDefault());

Второй вариант

$(document).on('click', '.dropdown-menu .dropdown-prevent', function(e) {
  $(this).closest('.dropdown').one('hide.bs.dropdown', e => false);
});

Когда нужно открыть модальное окно из уже открытого окна и при закрытии второго окна открыть первое. Такое требуется, например, когда во всплывающей форме регистрации нам нужно открыть окно с текстом соглашения, а после закрытия восстановить окно с формой

$('.modal [data-toggle="modal"]').on('click', function(e) {
  e.preventDefault();

  var $target = $(this), $oldModal = $target.closest('.modal'), $newModal = $($target.data().target || $target.attr('href'));

  if ($newModal.length > 0) {
    $oldModal.modal('hide').one('hidden.bs.modal', function() {
      $newModal.data('old-modal', $oldModal.attr('id')).modal('show').one('hidden.bs.modal', function(e) {
        $('#' + $(this).data('old-modal')).modal('show');
      });
    });
  }
});

Простейший загрузчик css/js. Полезен в случаях использования ресурсов по требованию.

 

function loadResource(files, callback) {
  if (!$.isArray(files)) {
    files = [files];
  }

  var file = files.shift();

  if ('.css' == file.slice(-4)) {
    $('head').append('<link rel="stylesheet" type="text/css" href="catalog/view/' + file + '" />');

    if (files.length > 0) {
      loadResource(files, callback);
    } else {
      callback && callback();
    }
  } else {
    $.ajax({
      url: 'catalog/view/' + file,
      type: 'GET',
      dataType: 'script',
      cache: true,
      success: function(script) {
        if (files.length > 0) {
          loadResource(files, callback);
        } else {
          callback && callback();
        }
      }
    });
  }
}

loadResource([
  'javascript/summernote/summernote.css',
  'javascript/summernote/summernote.min.js',
  'javascript/summernote/lang/summernote-ru-RU.js'
], function() {
  console.info('Summernote is ready to use');
});

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу