Показать сообщение отдельно
  #1 (permalink)  
Старый 27.07.2017, 18:40
Аспирант
Отправить личное сообщение для NapalmRain Посмотреть профиль Найти все сообщения от NapalmRain
 
Регистрация: 17.03.2014
Сообщений: 40

druggble последовательность отработки событий в разных браузерах
Доброго всем времени суток!

Имеется небольшой модуль для сайта, в котором есть блоки с иформацией. Эти блоки находятся в свёрнутом состоянии и разворачиваться должны по клику.

Так же эти же блоки должны перетаскиваться по странице.

код инициализации всего этого выглядит так:
blocks.bind('click', catchBlock);
	blocks.not('.nondruggble').draggable({stop : LetGo, start : startMove});


Проблема в том, что с точки зрения браузера перетаскивание - это просто очень длинный клик и поэтому после перетаскивания событие клика тоже срабатывает, поэтому я сделал так
var startMove = function(e) {
	var t = $(this);
	t.css({'z-index' : 1000});
	t.unbind('click');
}
var LetGo = function(event, ui) {
	var t = $(this);
	t.css({'z-index' : ''});
	t.bind('click', catchBlock);
}

Но тут в силу вступает разность браузеров. Проверено было на хроме и мазиле. На хроме такой финт ушами сработал корректно, а мазиле же при таком раскладе блоки всё равно разворачиваются после того, как к ним вновь назначается отработка события клика. Что мне кажется странным, но пока не понимаю, как это решить.

Буду очень признателен за совет!
Ответить с цитированием