Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 06.04.2018, 12:55
Профессор
Отправить личное сообщение для Mukhtar Посмотреть профиль Найти все сообщения от Mukhtar
 
Регистрация: 08.10.2010
Сообщений: 201

нет. проблем он не вызывает. сама форма на клик не реагирует просто.
Ответить с цитированием
  #12 (permalink)  
Старый 06.04.2018, 13:07
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Ну в общем-то у вас как таковой формы и нет, чего там вообще имеется я даже разбираться не стал - заказал редактору вырезать все в тегах, ибо там черт ногу сломит, и взял результат.

А что еще реально у вас есть на странице, что может мешать и т.п., я не знаю.
Ответить с цитированием
  #13 (permalink)  
Старый 06.04.2018, 13:39
Профессор
Отправить личное сообщение для Mukhtar Посмотреть профиль Найти все сообщения от Mukhtar
 
Регистрация: 08.10.2010
Сообщений: 201

Хорошо. Спасибо. Буду разбираться.
Ответить с цитированием
  #14 (permalink)  
Старый 06.04.2018, 14:22
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

В консоли на страничке работает такой вариант:
document.querySelector('.qx-button-box').onclick = function() {
    alert('Working')
}

и после этого
document.querySelector('.qx-button-box').click();
Ответить с цитированием
  #15 (permalink)  
Старый 06.04.2018, 15:00
Профессор
Отправить личное сообщение для Mukhtar Посмотреть профиль Найти все сообщения от Mukhtar
 
Регистрация: 08.10.2010
Сообщений: 201

Цитата:
В консоли на страничке работает такой вариант:
document.querySelector('.qx-button-box').onclick = function() {
alert('Working')
}

и после этого
document.querySelector('.qx-button-box').click();
Это я тоже пытался сделать.
alert сработал, но фактически нажатия на кнопку не произошло.
Если по пустой форме в предоставленном примере нажать физически на кнопку Send, то незаполненные поля подсвечиваются красным цветом.

При отработке Вашего скрипта alert также вывелся, но событие не отработало, после alert-а вывелось сообщение undefined
Ответить с цитированием
  #16 (permalink)  
Старый 06.04.2018, 17:04
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Mukhtar,
В этой форме хитрая защита по событиям, чтобы клик делался именно мышью.
В частности,
_applyEnabled:function(s,r){qx.ui.form.Button.prototype._applyEnabled.call(this,s,r);if(!s){if(this.isCapturing()){this.releaseCapture();}
;this.removeState(h);this.removeState(l);this.__nU();}
;}
,_onPointerOver:function(e){if(!this.isEnabled()||e.getTarget()!==this){return;}
;if(this.hasState(l)){this.removeState(l);this.addState(h);this.__eg.start();}
;this.addState(c);}
,_onPointerOut:function(e){if(!this.isEnabled()||e.getTarget()!==this){return;}
;this.removeState(c);if(this.hasState(h)){this.removeState(h);this.addState(l);this.__eg.stop();}
;}
,_onPointerDown:function(e){if(!e.isLeftPressed()){return;}
;this.capture();this.__nT();e.stopPropagation();}
,_onPointerUp:function(e){this.releaseCapture();if(!this.hasState(l)){this.addState(c);if(this.hasState(h)&&!this.__nS){this.execute();}
;}

т.е. по идее должно срабатывать на document.querySelector('[qxclass="qx.ui.form.Button"]') по последовательности событий mouseover-mousedown-mouseup, но что-то не срабатывает - какие-то замысловатые проверки состояний.
Ответить с цитированием
  #17 (permalink)  
Старый 07.04.2018, 01:56
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Dilettante_Pro,
даже мышкой если больше секунды mousedown задержишь, на mouseup уже ничего не произойдет
Ответить с цитированием
  #18 (permalink)  
Старый 07.04.2018, 11:47
Профессор
Отправить личное сообщение для Mukhtar Посмотреть профиль Найти все сообщения от Mukhtar
 
Регистрация: 08.10.2010
Сообщений: 201

Dilettante_Pro, Все дело во фреймворке.
В документации смотрел, вся информация ссылается именно на команду
qx.bom.Event.fire(document.querySelector("body > div:nth-child(2) > div:nth-child(1) > div.qx-white-box > div:nth-child(6) > div"), "click");


Сам клик может быть и срабатывает, но будто на объекте нет никакого события. Хотя если физически нажать он вызывает какие-то проверки.

Нужен реально монстр фреймворка QooxDoo
Ответить с цитированием
  #19 (permalink)  
Старый 09.04.2018, 12:55
Профессор
Отправить личное сообщение для Mukhtar Посмотреть профиль Найти все сообщения от Mukhtar
 
Регистрация: 08.10.2010
Сообщений: 201

На будущее. Если кому понадобится.
Клик мышью решается таким образом
qx.event.Registration.fireEvent(document.querySelector("body > div:nth-child(2) > div:nth-child(1) > div.qx-white-box > div:nth-child(7)"), "tap");
Ответить с цитированием
  #20 (permalink)  
Старый 09.04.2018, 13:31
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Mukhtar,
Один раз срабатывает с кучей ошибок в консоли. Как кликнуть еще раз?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вы относитесь к наркоманам? Maxmaxmaximus7 Оффтопик 7 05.02.2014 13:29
Как найти нужный элемент страницы и кликнуть если он имеет тока класс... Александр_1997 Events/DOM/Window 3 18.01.2014 14:34
Как узнать родительский элемент? alex_han Events/DOM/Window 6 06.12.2013 23:01
Как передать элемент в переменную из функции kichSman jQuery 3 12.07.2011 22:16
Как добавить элемент в XML через DOM используя PHP? bayah Серверные языки и технологии 6 11.08.2010 13:33