powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Исчезли координаты мыши из свойств события onBlur
14 сообщений из 14, страница 1 из 1
Исчезли координаты мыши из свойств события onBlur
    #39229031
S_A_V_e
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.
Был старый JS код который прекрасно работал. Попробовал перенести его в новую страничку. Но оказалось что clientX, clientY исчезли из объекта события (свойства undefined). Причём не работает ни в одном браузере. Погуглил и нашел пример где по onBlure читают координаты мыши. Но он то же не показывает координаты.
Тестовый код:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
<!DOCTYPE html>
<html>

<body>
<input type="text" onblur="Foo(event)" />
</body>

<script>
function Foo(e)
{
alert(e.clientX);
}
</script>
</html>



В моём случае старничка показывает "undefined". Открываю на Win 10 в любом браузере.
Куда делись свойства события, с чем это связано и как это можно исправить ?
Заранее благодарю за ответы.
...
Рейтинг: 0 / 0
Исчезли координаты мыши из свойств события onBlur
    #39229075
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S_A_V_e,
это не работало никогда
...
Рейтинг: 0 / 0
Исчезли координаты мыши из свойств события onBlur
    #39229189
S_A_V_e
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как я описал код был скопирован со странички на которой он точно работал. Если же всё таки это не работало никогда - то каким способом можно получить позицию мыши при onblur ? Единственный способ который приходит в голову - это отслеживать onmousemove , записывать координаты мыши и потом использовать их в onblur. Но этот способ не очень подходит т.к. в моём случае функция Foo находится в отдельном компоненте и не хотелось бы её завязывать на какие то внешние переменные.
...
Рейтинг: 0 / 0
Исчезли координаты мыши из свойств события onBlur
    #39229208
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
function Foo(e) {
e = e || window.event;
...
}
...
Рейтинг: 0 / 0
Исчезли координаты мыши из свойств события onBlur
    #39229244
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S_A_V_eКак я описал код был скопирован со странички на которой он точно работал. Если же всё таки это не работало никогда - то каким способом можно получить позицию мыши при onblur ? Единственный способ который приходит в голову - это отслеживать onmousemove , записывать координаты мыши и потом использовать их в onblur. Но этот способ не очень подходит т.к. в моём случае функция Foo находится в отдельном компоненте и не хотелось бы её завязывать на какие то внешние переменные.
был скопирован это не значит , что там было только это
потеря фокуса - это не событие мыши, мышь может быть в одном месте до и после потери фокуса. потеря фокуса может произойти по таб, без мыши
...
Рейтинг: 0 / 0
Исчезли координаты мыши из свойств события onBlur
    #39229262
S_A_V_e
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_Onefunction Foo(e) {
e = e || window.event;
...
}

Не сработало... window.event то же не содержит таких свойств.
...
Рейтинг: 0 / 0
Исчезли координаты мыши из свойств события onBlur
    #39229278
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mouse move надо ловить
...
Рейтинг: 0 / 0
Исчезли координаты мыши из свойств события onBlur
    #39229282
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_Onemouse move надо ловить
mouse move и onblur совершенно не связаны
...
Рейтинг: 0 / 0
Исчезли координаты мыши из свойств события onBlur
    #39229288
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зато там есть координаты мыши
...
Рейтинг: 0 / 0
Исчезли координаты мыши из свойств события onBlur
    #39229309
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_Oneзато там есть координаты мыши
а связь?
не понятно где мышь и потеря фокуса...
...
Рейтинг: 0 / 0
Исчезли координаты мыши из свойств события onBlur
    #39229311
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяKonst_Oneзато там есть координаты мыши
а связь?
не понятно где мышь и потеря фокуса...

а никак, пусть ТС поищет решения на основе jquery, может что и нароет
...
Рейтинг: 0 / 0
Исчезли координаты мыши из свойств события onBlur
    #39229544
Фотография бухалтер фантоцци
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S_A_V_e,

Координаты курсора мыши могут быть в свойствах e.pageX и e.pageY

Это универсальные свойства - они работают и для touch - событий.

Политика безопасности браузеров такова, что событие должен инициировать пользователь, иначе вы не увидите координат мыши (они могут быть равны 0).

Код ниже должен работать с любым событием, которое возникло "не искусственно". Код не проверял, взял из наработок и упростил.

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
/*  Координаты мыши относительно верхнего левого угла документа	{ x, y } */
function getMouseXY(e) {
  var h = document.documentElement, b = document.body, hx, hy, x=0, y=0, t;
  e =  e || window.event;
  hx = ((h && h.scrollLeft) || (b && b.scrollLeft) || 0) - (h.clientLeft || 0);
  hy = ((h && h.scrollTop) || (b && b.scrollTop) || 0) - (h.clientTop || 0);
  if (e.type.substr(0,5)=='touch') {
	if (event.targetTouches.length == 1) { // Здесь обрабатываем только одно касание пальца
		t = event.targetTouches[0];
		x=t.pageX;
		y=t.pageY;
	}
  } else {
	if ( e.pageX == null && e.clientX != null ) {
		x = e.pageX = e.clientX + hx;
		y = e.pageY = e.clientY + hy;
	} else {
		x = e.pageX;
		y = e.pageY;
	}
  }
  if (x!=0&&y!=0) {
	if (x<0) x=0; if (y<0) y=0;
  }
  return {x:x, y:y};
}
...
Рейтинг: 0 / 0
Исчезли координаты мыши из свойств события onBlur
    #39229545
Фотография бухалтер фантоцци
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну вот, уже опечатку нашёл ))
нужно испрвить event.targetTouches на e.targetTouches
...
Рейтинг: 0 / 0
Исчезли координаты мыши из свойств события onBlur
    #39234373
S_A_V_e
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
выдяэто не работало никогда

Вы были правы. Это не работало никогда. Нашел код который обрабатывал необработанные клики на document... Это он в моём случае передавал в фнкцию event от клика. И поэтому там присутствовали clientX clientY

Спасибо. Разобрался. Тема закрыта.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Исчезли координаты мыши из свойств события onBlur
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]