Перейти к содержанию

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

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

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

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

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


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

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

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

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

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


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

Отправка 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);
}

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


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

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

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

 

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


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

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');
});

 

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


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

Отключение автозаполнения в Safari

<input type="password" name="password" readonly onfocus="this.removeAttribute('readonly')">

 

  • +1 1

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


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

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

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

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

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

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

Войти

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

Войти

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

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

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.