Не работает focus() элементов в браузерах
Для примера в "Google переводчике" вставляется текст но без нажатия и ввода, например пробела в поле (er8xn) перевод не происходит. в чем проблема? Заранее благодарю за подсказку
function setValues(el, values) {
el.value = "";
el.dispatchEvent(new KeyboardEvent('keypress', {'key':'Shift'} ));
el.focus();
el.click();
el.value = "привет привет привет.";
el.autocomplete = "on";
console.log(el.value);
}
var elements = document.getElementsByClassName('er8xn');
const timeout = 1000;
for (var i = 0; i < elements.length; i++) {
setTimeout(setValues, timeout * i, elements[i], i);
}
Ответы (1 шт):
Автор решения: hlearn
→ Ссылка
Проблема в том, что нужно сообщить элементу, что текст был изменён. Например, так
textarea.dispatchEvent(new InputEvent('input', {bubbles: true, cancelable: false, inputType: 'insertFromPaste'}));
