Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как программно вызвать событие (https://javascript.ru/forum/events/2739-kak-programmno-vyzvat-sobytie.html)

Jeka09 05.02.2009 13:54

Как программно вызвать событие
 
У меня есть 2 страницы (1.php и 2.php). Если я нажимаю на ссылку на странице 2.php - должен осуществляться переход на страницу 1.php и после чего на 1.php должно программно вызваться событие OnClick для определенной ссылки.

Заранее благодарен...

ZoNT 05.02.2009 14:11

онклик вызвать можно для ссылки (и для любого другого элемента), но при этом перехода по ссылке не произойдёт (в целях безопасности).

Jeka09 05.02.2009 16:18

Мне не нужен переход по ссылке, мне нужно чтобы выполнились операторы данного события:
<a id="link1" name="link1" onclick="javascript: document.getElementById('el').innerHTML='Welcome'; ">Link 1</a>

Как мне сдесь вызвать OnClick для данной ссылки?

Kolyaj 05.02.2009 16:26

document.getElementById('link1').onclick();

Jeka09 05.02.2009 16:30

ОК! Всем спасибо, не думал что всё так просто. Нужно было всего лишь данную строчку написать после описания данного линка.

Andrez 30.03.2009 13:49

Здравствуйте! А если необходимо совршить клик в определенных координатах? Например я кликал на одном рисунке в координатне 10,10 и хочу вызвать событие onclick на другом рисунке в такой же координате?

x-yuri 30.03.2009 21:01

Andrez, опиши задачу полнее. Зачем тебе "клик в определенных координатах"?

Andrez 31.03.2009 09:25

Суть вот в чем. Мне необходимо на рисунке выделять контуры объектов... рисовать в javascript можно (каждая точка - это див, вот нашел готовое решение http://www.walterzorn.com/jsgraphics/jsgraphics_e.htm),
но контейнером для геометрических примитивов служит div. Я накрыл рисунок div'ом с прозрачным background-image. Контуры объектов уже можно обводить и создавать такие же area в map для рисунка под div'ом. Теперь я хочу при клике на контуре, который расположен на div'е инициировать клик на рисунке, но что бы он происходил над соответствующей area...

Kolyaj 31.03.2009 09:41

Цитата:

Сообщение от Andrez
Теперь я хочу при клике на контуре, который расположен на div'е инициировать клик на рисунке

Зачем?

Andrez 31.03.2009 09:50

Цитата:

Сообщение от Kolyaj (Сообщение 15544)
Зачем?

что бы самому не анализировать лежит ли точка с координатами клика в невыпуклой области!

Kolyaj 31.03.2009 10:25

Понятно. Имитация событий мыши достаточно муторное занятие, и во всех браузерах реализуется по разному.

Andrez 31.03.2009 10:33

Цитата:

Сообщение от Kolyaj (Сообщение 15550)
Понятно. Имитация событий мыши достаточно муторное занятие, и во всех браузерах реализуется по разному.

А есть идеи как это реализовать хотя бы под IE? (В принципе большего не надо, но еще хотелось бы потом повторить и под FF)

Kolyaj 31.03.2009 10:37

http://developer.yahoo.com/yui/yuitest/#useractions

Andrez 31.03.2009 10:48

:) Спасибо большое! :) Это оно! я ведь даже спользую yui сейчас, и так прошляпить :-E

Andrez 31.03.2009 13:26

Kolyaj,
подскажи пожалуйста такой момент: в IE можно делать так:
document.getElementById("id_obj").click()
, а в FF только
document.getElementById("id_obj").onclick()
, да и то, при условии, что определен обработчик событий. Если id_obj - id линка, то в первом варианте для IE все будет нормально, даже без наличия обработчика onclick у линка. А для FF пришлось бы определить функцию и назначить ее на onclick, что-то типа:
function a(){window.location.href="...";}
и только тогда будет работать
document.getElementById("id_obj").onclick()
. Это наводит на мысль, что в IE .click() - вызов "системного" собития, есть ли для FF что-то подобное?

Kolyaj 31.03.2009 14:22

Цитата:

Сообщение от Andrez
Это наводит на мысль, что в IE .click() - вызов "системного" собития

Не уверен насчет аналогичности, но по сути да.

Цитата:

Сообщение от Andrez
есть ли для FF что-то подобное?

Штудируй код YUI.

Andrez 31.03.2009 14:26

Ok! Спасибо :)


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