Как я могу смоделировать щелчок по тегу привязки?
Я хочу смоделировать щелчок по тегу привязки со всеми дополнительными функциями, такими как правильная обработка цели.
Кажется, есть метод «[click ()] [3]» для объекта DOM привязки, но не все браузеры поддерживают это. Firefox выдает эту ошибку:
Ошибка: anchorObj.click не является функцией
Это также странно работает в Opera 10 и Konqueror, вызывая бесконечные щелчки, когда он вызывается внутри обработчика onclick окружающего div. Я думаю, что только IE8 работает с ним нормально. Во всяком случае, я не хочу, потому что основные браузеры имеют проблемы с этим.
Я нашел это альтернативное решение для Firefox на форумах Mozilla:
var evt = document.createEvent("MouseEvents");
evt.initMouseEvent("click", true, true, window,
0, 0, 0, 0, 0, false, false, false, false, 0, null);
anchorObj.dispatchEvent(evt);
Это кажется слишком уродливым и обременительным для меня. Я не знаю, насколько это совместимо, и я хочу максимально избегать написания кода для браузера.
Я не могу использовать location.href = anchorObj.href; потому что он не обрабатывает «целевой» атрибут. Я могу сделать несколько жестких программ, основываясь на значении цели, но я бы тоже хотел этого избежать.
Есть предложение перейти на JQuery, но я не уверен, насколько хорошо он обрабатывает целевое свойство, так как раньше я с ним не работал.