Как нажать на ссылку из JavaScript

Я хотел бы нажать на ссылку на моей странице, используя JavaScript. Я хотел бы запускать обработчики событий по ссылке без навигации. Как это может быть сделано?

Спасибо

 Crescent Fresh12 нояб. 2009 г., 16:19
Чего ты хочешь достичь? Переход на страницу вhref? Обработчики событий пожара по ссылкебез навигации?

Ответы на вопрос(3)

window.onload = function() {
  var myLink = document.getElementById("YOUR_A_TAG_ID");
  fireClick(myLink);
};

function fireClick(elem) {
  if(typeof elem == "string") elem = document.getElementById(objID);
  if(!elem) return;

  if(document.dispatchEvent) {   // W3C
    var oEvent = document.createEvent( "MouseEvents" );
    oEvent.initMouseEvent("click", true, true,window, 1, 1, 1, 1, 1, false, false, false, false, 0, elem);
    elem.dispatchEvent( oEvent );
  }
  else if(document.fireEvent) {   // IE
    elem.click();
  }    
}
 Crescent Fresh12 нояб. 2009 г., 16:42
@ Джош: да,document.dispatchEvent Путь к коду обязательно будет найден, и все как обычнообработчики событий пожара ","пузырь и повтори произойдет (как выуказал, что должен). Это'Просто Firefox просто неЗатем перейдите на страницу. Увидетьstackoverflow.com/questions/809057/... ИМО это 'Это просто ошибка.
 Crescent Fresh12 нояб. 2009 г., 16:21
FYI,если цель ОП - перейти на страницу, указанную вhref атрибут, этот код не будет иметь никакого эффекта в Firefox (все версии).
 Josh Stodola12 нояб. 2009 г., 16:34
Или FireFox просто запрещает такое поведение на якорях HTML? Любая документация? Я вижу, как это будет восприниматься как риск полу-безопасности.
 Josh Stodola12 нояб. 2009 г., 16:33
Спасибо, Полумесяц Фреш. Я могу'т тест на FF прямо сейчас. Это проваливается черезif(document.dispatchEvent) совсем?
 Josh Stodola12 нояб. 2009 г., 19:00
Потенциальный (некрасивый) взлом может состоять в том, чтобы проверить, происходит ли событие window.unload после попытки программной отправки события click. Если нет, установите для location.href значение привязки href. Далеко от идеала, но это может сработать.

С JQuery было бы так.

$("#YOUR_A_TAG_ID").click();

Это только запускает функцию, назначенную событию щелчка. Он не будет перемещаться по пути, указанному в атрибуте href.

Документация JQuery для клика

 Crescent Fresh12 нояб. 2009 г., 16:44
Да, в зависимости от того, хочет ли ОП фактически перейти на страницу, указанную вhref атрибут, это будет делать только то, что утверждает Джош.
 Josh Stodola12 нояб. 2009 г., 16:31
К вашему сведению: запускается только функция, назначенная событию щелчка.

<span onmouseover="$('#alink').trigger('click');">Hello World</span>

<a href="http://someurl" id="alink">A Link</a>

Ваш ответ на вопрос