Не срабатывает .click() в хроме

12
R
На сайте с 08.11.2006
Offline
63
#11
smart1k:
Что за ананизм? Используйте location.href

Наверное плохо объяснил... (пример был для ясности, на практике немного не так)

Кстати, добрые люди подсказали, что click() просто не является методом ссылки (т.е. иногда является, но не во всех браузерах и версиях... все правильно.)

Почему так пришлось делать:

Требуется переход от страницы к странице при определенном (положительном) ответе сервера...

Поэтому команду должен давать обработчик

Обработчик грузится в невидимый фрейм основной страницы.

если поместить window.location в обработчик, то меняется содержание скрытого фрейма... (открывать из обработчика новое окно с нужным location? Так браузеры блокируют всплавающее окно...)

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

R
На сайте с 08.11.2006
Offline
63
#12

Спасибо за помощь!

Почему бы не вызвать parent.location = "..." из дающего добро обработчика(который грузится в скрытый фрейм)? :)

Работает как часы во всех браузерах...

Подводя черту:

метод click есть только у button, checkbox, radio, reset и submit, а для ссылок работает, но не во всех браузерах...

location "рулит", но, видимо, для уже существующих окон,

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

S
На сайте с 03.03.2008
Offline
91
#13

Обработчик onClick в рантайме правильно цеплять вот так:

<a id="linkId" href="#">link</a>
<script>
function my_handler (evt) { alert('Event in runtime!'); return false; }
document.getElementById('linkId').onclick = my_handler;
</script>

Но удобнее через jQuery =)

rootv:
Кстати, добрые люди подсказали, что click() просто не является методом ссылки (т.е. иногда является, но не во всех браузерах и версиях... все правильно.)

Обработчик onClick у ссылок есть и прекрасно работает во всех браузерах. Плюс в зависимости от того что он возвращает (true или false) ссылка обрабатывает переход или нет.

R
На сайте с 08.11.2006
Offline
63
#14

То, что обработчик

document.getElementById('linkId').onclick

работает - спору нет...

Речь была о методе

document.getElementById('linkId').click()

- имитация клика

И он уже тоже работает для ссылок всегда?

S
На сайте с 03.03.2008
Offline
91
#15
rootv:
То, что обработчик
Речь была о методе
document.getElementById('linkId').click()
- имитация клика
И он уже тоже работает для ссылок всегда?

Хех, я неправильно вас понял )) Ну тут location.href лучше, он всегда сработает.

[Удален]
#16
rootv:
<a href='http://www.a.ru/a.htm' target='_top' name='perehod' id='perehod'>...</a>
<script>document.getElementById('perehod').click();</script>

И не будет работать. По стандарту метод клик применим для элементов формы типа кнопок, чекбоксов, радио и прочих. То, что ИЕ отрабатывает метод click() на анкорах и других элементах - именно ИЕшная фича.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий