Генерирование события пользовательского интерфейса

Обсуждение вопросов клиентского программирования.

Модератор: Duncon

Ответить
Аватара пользователя
__Yuri__
Сообщения: 140
Зарегистрирован: 02 ноя 2006, 17:17
Контактная информация:

Привет, друзья!
Дано:
страничка с несколькими iframe, некоторые из которых содержат списки <a>, при нажатии на которые их URI открываются в других iframe. Это сделано.
Нужно:
По onload страницы Иммитировать нажатие юзером на ссылку <a> с целью не только загрузить, но и изменить CSS оформление ссылки - в моем случае фоновые картинки, цвет и "буквицу" шрифта:

a:active, a:focus
{
background-position:0% -42px;
}

a:active span, a:focus span
{
color: red;
font-variant: small-caps;
background-position:100% -42px;
}


Пробовал для IE
onload='document.getElementById("li1").click();' - ссылка открывается, а вот оформление не меняется.
Для FF
пробовал типа
document.getElementById("li1").initEvent("click", true, true);
document.getElementById("li1").dispatchEvent(evt);

не работает ваще...

СЫПАСИБО!
Аватара пользователя
__Yuri__
Сообщения: 140
Зарегистрирован: 02 ноя 2006, 17:17
Контактная информация:

поковырялся и реализовал для FF:
var evt = window.document.createEvent("MouseEvent");
evt.initEvent("click", true, true);
document.getElementById("li1").dispatchEvent(evt);

для IE можно еще вот так - более строго смотрится:
var oli1 = document.getElementById("li1");
var evt = document.createEventObject();
oli1.fireEvent('onclick', evt);

Клики мышкой иммитируются, но, как и ожидалось, CSS динамическое оформление не меняется, а хотелось именно этого...

Чё-то эта ветка форума совсем мертвая... Все тихо сами с собой переписываются в своих тредах...
Ответить