Я хочу установить ярлык для фокусировки на поле ввода на странице результатов поиска Google вместо использования события mouseover или mousemove.
Как обойти все элементы на странице, чтобы заставить поле ввода выполняться focus()
с помощью Javascript.
document.addEventListener('keydown',function(event){
var keynum;
if (window.event) // IE
{
keynum = event.keyCode;
}
else if (event.which) // Netscape/Firefox/Opera
{
keynum = event.which;
}
console.info(event.keyCode)
if (keynum==79&&event.altKey){
//get the input element in a page and execute focus()
}
});
Прежде всего, чтобы получить элемент панели поиска, нам нужно использовать querySelector
. После этого нам нужно сосредоточиться на вводе. Даже после этого мы не увидим автоматических подсказок, которые нам выдает гугл. Итак, нам также нужно стимулировать событие click
. Приведенный ниже код выполнит работу -
let searchBar = document.querySelector("input[type=text]");
searchBar.focus();
searchbar.click();
@lyscop да, это действительно так. Однако вы не можете предсказать, какой сайт будет использовать какой тип ввода и каков будет их порядок. Я только что просмотрел страницу результатов поиска Google и нашел конкретный ввод. Если вам нужно использовать это где-то еще, вам придется настроить html сайта, чтобы найти путь к панели поиска.
И это головная боль, что на некоторых сайтах нет типа ввода, а элементов ввода много, так что это подходит только для сайта, на котором тип ввода текст, как результаты поиска Google.