Есть ли способ щелкнуть ссылку на моей странице с помощью JavaScript?
Как программно щелкнуть ссылку с помощью javascript?
Ответы (11)
Эта функция работает как минимум в Firefox и Internet Explorer. Он запускает любые обработчики событий, прикрепленные к ссылке, и загружает связанную страницу, если обработчики событий не отменяют действие по умолчанию.
function clickLink(link) {
var cancelled = false;
if (document.createEvent) {
var event = document.createEvent("MouseEvents");
event.initMouseEvent("click", true, true, window,
0, 0, 0, 0, 0,
false, false, false, false,
0, null);
cancelled = !link.dispatchEvent(event);
}
else if (link.fireEvent) {
cancelled = !link.fireEvent("onclick");
}
if (!cancelled) {
window.location = link.href;
}
}
target
или <base target="frame">
- person Vitim.us; 09.11.2015
Если вы хотите изменить только текущий адрес страницы, вы можете сделать это, просто сделав это в Javascript:
location.href = "http://www.example.com/test";
mailto:
в скрипте userjs. Определенно сэкономил мне время. Я был готов создать элемент a
и сделать программный щелчок по заголовку stackoverflow.com/questions/809057/
- person A.D.; 04.06.2014
click()
, предложенный в другом месте и выше, и он не работал в IE9, но установка location.href
фактически отправила электронное письмо по ссылке mailto:
. Отличное решение!
- person ajeh; 02.03.2015
Просто так:
<a id="myLink" onclick="alert('link click');">LINK 1</a>
<a id="myLink2" onclick="document.getElementById('myLink').click()">Click link 1</a>
или при загрузке страницы:
<body onload="document.getElementById('myLink').click()">
...
<a id="myLink" onclick="alert('link click');">LINK 1</a>
...
</body>
Способ jQuery щелкнуть ссылку:
$('#LinkID').click();
Для ссылки mailTo необходимо написать следующий код
$('#LinkID')[0].click();
a
. Использование версии [0].click()
работает, что, как мне кажется, совпадает с ответом document.getElementById('yourLinkID').click();
.
- person Mmm; 13.08.2018
Для меня мне удалось заставить это работать именно так. Я развернул автоматический щелчок за 5000 миллисекунд, а затем замкнул цикл через 1000 миллисекунд. Тогда было всего 1 автоматическое нажатие.
<script> var myVar = setInterval(function ({document.getElementById("test").click();}, 500)); setInterval(function () {clearInterval(myVar)}, 1000));</script>
Многие из вышеперечисленных методов устарели. Теперь рекомендуется использовать конструктор, который можно найти здесь
function clickAnchorTag() {
var event = document.createEvent('MouseEvent');
event = new CustomEvent('click');
var a = document.getElementById('nameOfID');
a.dispatchEvent(event);
}
Это вызовет щелчок по тегу привязки, но он не будет показывать, активны ли блокировщики всплывающих окон, поэтому пользователю нужно будет разрешить всплывающие окна.
Можете ли вы вместо щелчка переадресовать URL-адрес, на который будет переходить щелчок, используя Javascript?
Может, можно было бы положить что-нибудь в тело на нагрузку, чтобы ехать куда хочешь.
Вы можете просто перенаправить их на другую страницу. На самом деле заставить его буквально щелкнуть ссылку и перейти к нему кажется нелепым, но я не знаю всей истории.
Функция JS на стороне клиента для автоматического перехода по ссылке, когда ...
Вот пример, в котором вы проверяете значение скрытой формы ввода, которая содержит ошибку, переданную с сервера ... ваш клиентский JS затем проверяет его значение и заполняет ошибку в другом месте, которое вы указываете .. в этом случае модальное всплывающее окно входа в систему.
var signUperror = document.getElementById('handleError')
if (signUperror) {
if(signUperror.innerHTML != ""){
var clicker = function(){
document.getElementById('signup').click()
}
clicker()
}
}
Вы не можете заставить мышь пользователя что-либо делать. Но у вас есть полный контроль над тем, что происходит при срабатывании события.
Что вы можете сделать, так это нажать на нагрузку на тело. Пример W3Schools можно найти здесь.
target="_blank"
, в новом окне будет активирован блокировщик всплывающих окон браузера.
- person wonsuc; 26.02.2019
.click()
в элементе<a>
, и это сработало. - person PaulMag   schedule 08.08.2019