Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.06.2013, 11:41
Интересующийся
Отправить личное сообщение для hoid Посмотреть профиль Найти все сообщения от hoid
 
Регистрация: 01.06.2009
Сообщений: 16

Не удаляется событие.
$(document).ready(function(){
	var height = Math.floor($('.scroll_ground').height()/($('.servs table').height()/$('.servs').height()));
	$('.scroll_ground').append('<div class="scroller" style="height:'+height+'px"></div>');
	$('.scroller').on('mousedown',function(event){
	var startY = event.pageY;
	var scrollerY = $('.scroller').offset().top;
	var diff = startY-scrollerY;
	var scrollerPY = $('.scroller').position().top;
	$('body').on('mousemove',{offset:diff,start:startY,scrollerStart:scrollerPY},function(event){
		var diff = event.pageY-event.data.start;
		var curpos=event.data.scrollerStart+diff;
		alert(diff);
		if(curpos<0)$('.scroller').css('top','0');
		else if(curpos>$('.scroll_ground').height()-$('.scroll_ground').outerHeight(false)){
			var top = $('.scroll_ground').height()-$('.scroll_ground').outerHeight(false);
			$('.scroller').css('top',top+'px');
		}
		else $('.scroller').css('top',curpos+'px');
	})
	$('body').one('mouseup',function(){
		$('body').off('mousemove');
	})
	})
})

Пишу скроллбар. В конце удаляю событие моусмув, но почему-то не удаляется. Помогите, пожалуйста.
Ответить с цитированием
  #2 (permalink)  
Старый 19.06.2013, 12:11
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от hoid
В конце удаляю событие моусмув, но почему-то не удаляется
а как проверял?
и где html?
Ответить с цитированием
  #3 (permalink)  
Старый 19.06.2013, 12:41
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от hoid
$('body').off('mousemove');
Этим ты не только свой обработчик снимешь, но и любые другие, навешанные остальными скриптами.
Ответить с цитированием
  #4 (permalink)  
Старый 19.06.2013, 12:42
Интересующийся
Отправить личное сообщение для hoid Посмотреть профиль Найти все сообщения от hoid
 
Регистрация: 01.06.2009
Сообщений: 16

бегунок добавляю в начале сюда
<div class="right">
					<div class="scroll_ground">
						
					</div>
					<div id="servers_scroll_bottom" class="scrollbottom"></div>
				</div>

у класса right margin-top: -202px
проверяю так: вставляю alert(diff) в функцую под маусмув. Алертит всегда, после отпускания кнопки тоже.
Ответить с цитированием
  #5 (permalink)  
Старый 19.06.2013, 12:49
Интересующийся
Отправить личное сообщение для hoid Посмотреть профиль Найти все сообщения от hoid
 
Регистрация: 01.06.2009
Сообщений: 16

Сообщение от danik.js Посмотреть сообщение
Этим ты не только свой обработчик снимешь, но и любые другие, навешанные остальными скриптами.
Это поправимо. А вот как сделать, чтоб все таки обработчики удалялись.
Ответить с цитированием
  #6 (permalink)  
Старый 19.06.2013, 13:18
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от hoid
проверяю так: вставляю alert(diff) в функцую под маусмув. Алертит всегда, после отпускания кнопки тоже.
Какой блин алерт. Ты же мышку тестируешь. А алерт блочит взаимодействие страницы с мышью. Открой для себя console.log()
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Событие input и IE10 kobezzza Internet Explorer 2 21.03.2013 19:02
Как вставить в событие, указатель на объект, который получает это событие? Pacan228 Общие вопросы Javascript 2 04.07.2012 19:53
Как правильно подавить событие при подключении своего обработчика? Маэстро Firefox/Mozilla 2 03.09.2011 11:46
Отловить событие simple Events/DOM/Window 3 11.05.2011 14:20
какое событие возникает во время формирования html IT-AleX Events/DOM/Window 2 20.02.2009 16:13