Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Где можно создать Event (https://javascript.ru/forum/events/6296-gde-mozhno-sozdat-event.html)

AlexInspire 22.11.2009 22:15

Где можно создать Event
 
Добрый день, уважаемые софорумцы.
Я использую SeleniumRC для тестирования порученного мне портала.
Встала необходимость создать объект события и запустить его при вставке js скрипта из selenium командой getEval(String jsSnippet). Вот. Теперь к сути вопроса. Js API по созданию и запуску событий отрабатывают только в контексте некоторой функции, которая в свою очередь запускается как реакция на некоторое событие. Подобный код не отработает:
<script language="JavaScript">

var evObj = document.createEvent('MouseEvents');
evObj.initEvent( 'mousemove', true, false );
var fire = document.getElementById("my_SID");
fire.dispatchEvent(evObj);// именно эта строка не отрабатывает
alert("something");

function handled(e)
{    
  alert("event is handled");       
return true;
}

</script>
..
<a id="my_SID" href="http://localhost:8080/sample/hello.jsp" onMouseMove=handled()> handle event</a>


В этом коде я хотел, чтобы при старте скрипта создавалось событие, и ссылка реагировала на него через alert("event is handled");
В то время как если как поместить код создания события в функцию, то все будет отрабатывать. Дело только в том, что эта функция сама будет ждать наступления некоторого события, а иначе она не вызовется. У меня не будет возможности при пробеге selenium тестов на GUI вручную запускать события. Мне надо, чтобы событие движения мышой сгенерировалось самостоятельно автоматически при запуске скрипта. Если у кого из гуру будут мысли по этому поводу, просьба не утаивать от общественности)). Заранее благодарен.

B~Vladi 23.11.2009 13:27

document.getElementById("my_SID");
существует?

И, кста, ваш код не для ИЕ, вы вкурсе этого?

AlexInspire 23.11.2009 14:31

Да, я пишу под FF3.
В Firebug не показывает, что document.getElementByID("my_SID") возвращает что либо. Странно, но ведь фция одна из самых примитивных. И если положить все это в пределы одного метода, то работает.Сегодня ввечером приду с работы, буду debug делать в firebug. Вопрос такой : document это для DOM 2, или 5? И как определить, какой у меня?

Gozar 23.11.2009 15:23

ЧТО :blink: в DOM 5 отменят document? что же делать, что же делать? А понял, ничего, а что такое DOM 5? сериал на TNT ТВ наверное ;)

B~Vladi 23.11.2009 18:02

Цитата:

Сообщение от Gozar
сериал на TNT ТВ наверное

:D
+1

Gozar 24.11.2009 13:27

AlexInspire,
пробовали в таком порядке:
<a id="my_SID">...</a>
<script>...</script>
?


Часовой пояс GMT +3, время: 11:34.