Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Как кодом нажать ссылку?


Автор: Тутанхамец 22.4.2007, 17:54
Здравствуйте! Ситуация такая. 
Код

.navlink{
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    font-weight: bold;
    color: white;
    text-decoration: none;
}

.navlink:active{
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    font-weight: bold;
    border-bottom-width: 5px;
    border-bottom-style: double;
    border-bottom-color: White;
}


А где-то в одном из фреймов документа:
Код

<a name="additional" id="additional" href="additional.html" target="frmain" class="navlink" >Дополнительное образование</a><br><hr style="visibility: hidden">


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

Автор: Тутанхамец 24.4.2007, 16:28
Что, это такая редкая задача? smile Или я сложно сформулировал... smile 

Мне нужно что-то типа:
Код

MyLink.Click;
 

Но чтобы CSS-стиль ссылки при этом стал MyLinkStyle:active.

Автор: BuShaRt 26.4.2007, 11:34
Может курсор на 0.001 секунду на ссылку переместить?

Автор: Alx 26.4.2007, 17:15
BuShaRt
кх.. курсор нельзя переместить JavaScript`ом.
Тутанхамец
myLink.click().
IE only.

Автор: butionok 26.4.2007, 21:25
может здесь найдёшь что-нибудь полезное
http://forum.vingrad.ru/topic-59568/hl/fireevent/index.html

Автор: GZep 26.4.2007, 21:34
Воспользуйтесь поиском, ибо такая тема уже поднималась и решалась.

Автор: Тутанхамец 27.4.2007, 07:23
Цитата

Воспользуйтесь поиском, ибо такая тема уже поднималась и решалась. 


Искал и здесь, и по инету. Есть похожее, но не совсем то. 

butionok, была и у меня мысль создавать события, но до ума не довел. Была еще мысль сделать что-нибудь типа:
Код

 elem.onmouseover = function () {this.className = 'aBold';}


но и это тоже не то.

Кроме того, обнаружился еще один неприятный эффект: если юзер тыкает на навигационной панели мимо ссылки, то ВСЕ ссылки перестают быть active, хотя какая-то страница в основной фрейм всё еще загружена. 

В общем, привлекательность анимации ссылок через CSS оказалась коварной. Переделал меню на JavaScript. Вопрос закрыт. Всем участвовавшим - большое спасибо.  smile 


Автор: 12345c 27.4.2007, 12:56
Добавлю, что для кроссбраузерного решения достаточно будет честно сэмулировать нажатие. Сделать класс, равный a:active, присвоить (дополнить этим классом) ссылке, сделать .focus() для полноты, и перейти по урлу в href-е. При этом имитация активной ссылки не потеряется при клике вне её, только фокус уйдёт, и клик по другому активному элементу может отменить переход по прежней ссылке.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)