Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.10.2014, 12:54
Интересующийся
Отправить личное сообщение для ipatrool Посмотреть профиль Найти все сообщения от ipatrool
 
Регистрация: 06.11.2013
Сообщений: 13

Клик по элементу на странице в рамках координат
Всем привет, такая проблема: как можно сделать нажатие по элементу, который находится в заданном интервале координат?
Объясню подробнее: на сайте есть много кликабельных элементов одинакового типа с одинаковыми значениями, но мне нужно сделать клик только по одному элементу в центре экрана. Как такое можно реализовать?

Использовал такое:
$(document.elementFromPoint(х, у)).click();


Но при даже небольшом изменении положения окна, все сбивается. Нужно задать диапазон хотя бы +/- 50px и вот тут ступор.
Подскажите пожалуйста )
Ответить с цитированием
  #2 (permalink)  
Старый 06.10.2014, 13:23
Интересующийся
Отправить личное сообщение для ipatrool Посмотреть профиль Найти все сообщения от ipatrool
 
Регистрация: 06.11.2013
Сообщений: 13

И еще вопрос в догонку: заметил, что через раз на странице грузится элемент над моим элементом, который немного опускает нужный мне элемент. Как сделать проверку на наличие этого элемента (загрузился он или нет) и тогда уже делать клик по координате?
Ответить с цитированием
  #3 (permalink)  
Старый 06.10.2014, 13:24
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

То есть он не совсем по центру? А по css-селектору его никак не поймать?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #4 (permalink)  
Старый 06.10.2014, 13:56
Интересующийся
Отправить личное сообщение для ipatrool Посмотреть профиль Найти все сообщения от ipatrool
 
Регистрация: 06.11.2013
Сообщений: 13

Если еще один элемент не прогружается - по центру, если прогружается - не совсем, сдвигается пикселей на 40-50 вниз.
По css увы никак(
Ответить с цитированием
  #5 (permalink)  
Старый 06.10.2014, 13:57
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от ipatrool
По css увы никак(
А почему? Что именно мешает?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #6 (permalink)  
Старый 06.10.2014, 14:23
Интересующийся
Отправить личное сообщение для ipatrool Посмотреть профиль Найти все сообщения от ipatrool
 
Регистрация: 06.11.2013
Сообщений: 13

Цитата:
А почему? Что именно мешает?
А как? Если все элементы идентичны и даже имеют одинаковые type и value.
Где можно почерпнуть информацию, не подскажете?

Последний раз редактировалось ipatrool, 06.10.2014 в 14:26.
Ответить с цитированием
  #7 (permalink)  
Старый 06.10.2014, 14:44
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от ipatrool
А как? Если все элементы идентичны и даже имеют одинаковые type и value.
Ну а как тогда ты определяешь что именно он тебе нужен?
Может у него индекс уникальный (то есть - всегда пятый по счету). Почему тебе именно по нему, а не по предыдущему надо кликнуть?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #8 (permalink)  
Старый 06.10.2014, 15:04
Интересующийся
Отправить личное сообщение для ipatrool Посмотреть профиль Найти все сообщения от ipatrool
 
Регистрация: 06.11.2013
Сообщений: 13

Потому что он единственный работает, остальные - защита от автоклика по type и value, я так понимаю и никаких действий они не совершают. Помимо этого этот элемент всегда в одной и той же координате находится, окромя случая, когда через раз грузится еще один элемент над ним.
Ответить с цитированием
  #9 (permalink)  
Старый 06.10.2014, 15:53
Интересующийся
Отправить личное сообщение для ipatrool Посмотреть профиль Найти все сообщения от ipatrool
 
Регистрация: 06.11.2013
Сообщений: 13

Вобщем элемент который грузится через раз это изображение и имеет title - Картинка
Попробовал сделать проверку наличия этой самой картинки вот так:
function click() {
var image = $('<img src="/tmp/pic/3.gif"/>');
  if (image.attr('width') > 0)
  $(document.elementFromPoint(x, y)).click();
else
  $(document.elementFromPoint(x, y1)).click();
}


При таком раскладе кликается только тогда, когда картинка есть, если ее нет - кликается в ту же область в которую идет клик при наличии картинки, т.е. то, что в else не кликается вообще( ЧЯДНТ?

Последний раз редактировалось ipatrool, 06.10.2014 в 16:27.
Ответить с цитированием
  #10 (permalink)  
Старый 06.10.2014, 16:22
Интересующийся
Отправить личное сообщение для ipatrool Посмотреть профиль Найти все сообщения от ipatrool
 
Регистрация: 06.11.2013
Сообщений: 13

И кстати, где можно почитать о том, как подцепить по css ? Мне так, для саморазвития
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отловить клик на странице arma Events/DOM/Window 4 02.04.2014 15:03
Клик по элементу Джон Доу jQuery 2 09.12.2013 11:39
Перемещение к новому элементу на странице sktemp jQuery 7 17.05.2012 17:56
Как имитировать клик по элементу созданого после загрузки страницы? anoth3r jQuery 3 29.09.2011 12:22
Клик по другому элементу (id) Nivans Элементы интерфейса 1 11.10.2010 07:34