У меня есть страница с несколькими ссылками, которые все так:клик() не работает со ссылками
<a href="/" class="answer-item" rel="0">10</a>
Я хотел бы использовать функцию мыши(), чтобы имитировать щелчок пользователя на одном из их, но он не работает в моих тестах.
//Evaluate a mathematical expression from another part of the page
var numberAnswer = eval(document.getElementById("question-title").getElementsByTagName("b")[0].innerHTML);
//Builds an array with the links that may match the expression
var choices = document.getElementsByClassName('answer-item');
//Iterates through array to find a match then clicks it
for(var i in choices){
if(choices[i].innerHTML == numberAnswer){
choices[i].click();
break;
}
}
Я уверен, что choices[i]
правильный элемент.
Firefox ничего не делает, Opera ничего не делает, и щелчок() недоступен в Chrome (я думаю).
Кроме того, я пытался использовать dispatchEvent()
в такой форме:
var evt = document.createEvent('MouseEvents');
evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
choices[i].dispatchEvent(evt);
Это, видимо, вернулся true
в Firefox и Chrome, но ничего не изменилось.
Самая назойливая часть заключается в том, что ссылка только с атрибутом href
отлично работает с .click()
.
Не уверен, какой браузер вы используете, но в Chrome делает ваш код ничего (даже с чем-то, отличным от '/' как URL-адресом) –
jsFiddle, который я опубликовал в Firefox, перемещает панель результатов на домашнюю страницу jsFiddle - это следует за URL-адресом, как и ожидалось. Будет протестирован в Chrome и обновлен. –
Подтвердите - это не работает в Chrome. Будет редактировать, спасибо за информацию. –