Использую user.js. Нужно эмулировать сочетание Shift + Left Click на элементе с id. Пробовал window.open
, но не подходит, т.к ссылки генерируются автоматически.
function openClient() {
window.open("динамические ссылки", "_blank", "toolbar=no, scrollbars=no, resizable=no, top=50, left=50, width=450, height=615");
}
Отлично работает:
var start = document.getElementById("startBtn").click();
Можно ли как-то изменить, чтобы клик происходил с зажатой клавишей shift сразу при заходе на страницу, но без jQuery?
Можно создать объект события MouseEvent вручную, передав ему в конструктор кроме базовых параметров ещё и shiftKey: true
:
document.getElementById("button").addEventListener("click", function() {
var event = new MouseEvent("click", {
bubbles: true,
cancelable: true,
view: window,
shiftKey: true
});
document.getElementById("link").dispatchEvent(event);
});
<a id="link" href="https://google.ru">Link</a>
<input id="button" type="button" value="Click" />
Для наглядности примера событие генерируется по клику на кнопку. Но при загрузке страницы, если заменить document.getElementById("button").addEventListener("click"
на document.addEventListener("DOMContentLoaded"
, оно тоже работает.
Проверено на работоспособность в Opera 49.0.2725.47
В IE 11.125.16299.0 new MouseEvent
работать отказывается, но зато там работает deprecated метод initMouseEvent. Однако передачу true
в качестве параметра shiftKey
он благополучно игнорирует, открывая ссылку в том же окне:
document.getElementById("button").addEventListener("click", function() {
var event = document.createEvent("MouseEvent");
event.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, true, false, 0, null);
document.getElementById("link").dispatchEvent(event);
});
<a id="link" href="https://google.ru">Link</a>
<input id="button" type="button" value="Click" />
А чтобы было не слишком скучно, поведение в Firefox 57.0.2 отличается и от Opera, и от IE: в нём работают как new MouseEvent
, так и initMouseEvent
, однако при передаче true
в shiftKey
в обоих случаях вообще ничего не происходит (без shiftKey
работает).
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Добрый день! Почему не прогружается страница "nektome/chat" в webbrowser? Вылетают следующие ошибки и происходит анимация загрузки
Почему код выдает ошибку Uncaught ReferenceError: $ is not defined
Например можно собирать в строку и вернуть её
Как в datepicker сделать чтобы выбирать дату можно только начиная с завтрашнего дня? То есть, нельзя выбрать сегодняшнюю и прошедшие даты