| Сэмулировать событие нажатия клавиши (и даже комбинации клавиш) можно.
Однако вам же интересно их не просто нажать, а чтобы последовало дефолтное действие после нажатия этой комбинации клавиш
В данном случае после нажатия Ctrl+Del вы хотите открытия окошка добавления в избранное.
Увы, во ВСЕХ браузерах для каждого события есть флаг (свойство) isTrusted.
Для событий, инициированных пользователем этот флаг равен true и дефолтное событие произойдёт.
А для событий, инициированных скриптом, isTrusted == false и никакого добавления в избранное вы добиться не сможете.
И изменить свойство isTrusted события нельзя - оно read only.
-----
А так - пожалуйста, пропечатать ту же букву D в каком-то инпуте - нет проблем.
Вот, например, код для FireFox:
<body>
<input id="tst" autocomplete="off">
<script>
onload = function ()
{
var evnt = document.createEvent ('KeyboardEvent');
var cd = 'D'.charCodeAt (0);
var obj = document.getElementById ('tst');
obj.focus ();
evnt.initKeyEvent ('keydown', 1, 1, window, 0, 0, 0, 0, cd, cd); obj.dispatchEvent (evnt);
evnt.initKeyEvent ('keypress', 1, 1, window, 0, 0, 0, 0, cd, cd); obj.dispatchEvent (evnt);
evnt.initKeyEvent ('keyup', 1, 1, window, 0, 0, 0, 0, cd, cd); obj.dispatchEvent (evnt);
}
</script>
</body>
|
Понятное дело, что всё выше написанное внутри функции много проще записать одной строкой:
document.getElementById ('tst').value = 'D';
|
И обычно так и делается.
Но я вам здесь показал - как сэмулировать именно НАЖАТИЕ клавиши D на клавиатуре.
Заметьте, событие надо сэмулировать полностью и в правильном порядке: опускание клавиши, нажатие, отпускание клавиши.
PS. Запись кода для MSIE, Opera и прочих браузеров, разумеется, немного иная.
Но и там isTrusted для сформированных скриптом событий == false. | |