Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.08.2014, 14:31
Интересующийся
Отправить личное сообщение для Nupster Посмотреть профиль Найти все сообщения от Nupster
 
Регистрация: 12.08.2014
Сообщений: 20

Выход из объекта и поднятие мыши
Добрый день.
Есть ли возможность реализовать событие "поднятие мыши", если курсор находится вне объекта?

Пример: Зажали мышь внутри какого-то элемента, сдвинули мышь за край элемента, отжали мышь. Как отследить это и запустить свою функцию?
.mouseleave() не подходит, т.к. обработает только выход за пределы, независимо от того зажата мышь или нет.

Заранее спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 18.08.2014, 14:34
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

На mousedown проверяем находимся ли мы в нужном элементе, если да - начинаем слушать mouseleave. Первый mouseleave - то что вам нужно. Не забудьте отписаться от события на mouseup
Ответить с цитированием
  #3 (permalink)  
Старый 18.08.2014, 14:36
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

+ вриант проще и немного хуже: делаем глобальный флаг о том зажата ли кнопка, на mousedown делаем его true, на mouseup - false. на mouseleave смотрим равен ли наш флаг true
Ответить с цитированием
  #4 (permalink)  
Старый 18.08.2014, 14:49
Аватар для Viral
Профессор
Отправить личное сообщение для Viral Посмотреть профиль Найти все сообщения от Viral
 
Регистрация: 26.04.2011
Сообщений: 472

не mouseleave, а mouseup нужно, по этому событию проверяйте, находится ли курсор в координатном поле необходимого объекта
Ответить с цитированием
  #5 (permalink)  
Старый 18.08.2014, 14:52
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

Viral,
На сколько я понял автору нужен именно момент покидания элемента с зажатым курсором, по вашему варианту этого события не получить.
Ответить с цитированием
  #6 (permalink)  
Старый 18.08.2014, 14:53
Аватар для Viral
Профессор
Отправить личное сообщение для Viral Посмотреть профиль Найти все сообщения от Viral
 
Регистрация: 26.04.2011
Сообщений: 472

tsigel,
Цитата:
Есть ли возможность реализовать событие "поднятие мыши", если курсор находится вне объекта?
очевидно же, что сначала курсор с нажатым кликом выходит за предела объекта, а потом клик отпускают..
Ответить с цитированием
  #7 (permalink)  
Старый 18.08.2014, 14:55
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

Viral,
Да, вы правы. что-то я не так прочел.
Ответить с цитированием
  #8 (permalink)  
Старый 18.08.2014, 14:56
Аватар для Viral
Профессор
Отправить личное сообщение для Viral Посмотреть профиль Найти все сообщения от Viral
 
Регистрация: 26.04.2011
Сообщений: 472

Nupster,
а вам, раз используете jQuery, проще было бы что-то такое поюзать
Ответить с цитированием
  #9 (permalink)  
Старый 18.08.2014, 14:59
Интересующийся
Отправить личное сообщение для Nupster Посмотреть профиль Найти все сообщения от Nupster
 
Регистрация: 12.08.2014
Сообщений: 20

$('#elem').mouseleave(checkMouseLeave());

function checkMouseLeave()
{
	document.onmouseup = fclear;
	document.addEventListener("onmouseup", fclear, false);	
}


Вот так сделал. Вроде бы работает. Спасибо за помощь.
Ответить с цитированием
  #10 (permalink)  
Старый 18.08.2014, 15:07
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

если простенько

http://learn.javascript.ru/play/0oUJcb
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
рисование прямоугольника по движению мыши prizrak39 Events/DOM/Window 4 14.03.2013 15:36
Немного Юмора - Гуртовщики Мыши antonM Оффтопик 12 23.03.2012 20:04
Скрипт вычисления координат объекта banderasantonio197555 Events/DOM/Window 4 16.08.2011 17:37
Имитация нажатия кнопки мыши Mantell Общие вопросы Javascript 3 19.02.2009 17:03
Можно ли получить имя экземпляра объекта внутри самого объекта? Ichigeki Общие вопросы Javascript 9 14.11.2008 19:00