Вызов keyevent от мыши

Мне нужно эмулировать нажатие клавиши нажатием на ссылку. Сочетание клавиш CTRL++ должно вызываться щелчком по ссылке или аналогичной функции.

2 ответа

Вы не можете вызвать нажатие клавиши с помощью JavaScript.

Однако вы можете контролировать уровень масштабирования с помощью JavaScript, вот пример для IE и Chrome: http://jsfiddle.net/cMCuz/2/

Редактировать: теперь также поддерживает Firefox.

Требуется JavaScript:

var _zoomLevel = 100;

function ChangeZoomLevel(diff) {
    _zoomLevel += diff;
    var oDiv = document.getElementById("Contents");
    if (typeof oDiv.style.MozTransform == "string")
        oDiv.style.MozTransform = "scale(" + (_zoomLevel / 100) + ")";
    else if (typeof oDiv.style.zoom == "string")
        oDiv.style.zoom = _zoomLevel  + "%";
}

Примеры кнопок:

<button type="button" onclick="ChangeZoomLevel(10);">+</button>
<button type="button" onclick="ChangeZoomLevel(-10);">-</button>

Это изменит уровень масштабирования всего элемента DIV, его можно легко изменить, чтобы при необходимости изменить уровень масштабирования всего документа.

Могу ли я внести свой вклад, пожалуйста. добавление кода мастера теней:

http://jsfiddle.net/GaPYe/

var _zoomLevel = 100;
function ChangeZoomLevel(diff) {
    _zoomLevel += diff;
    var oDiv = document.getElementById("Contents");
    if (typeof oDiv.style.MozTransform == "string")
        oDiv.style.MozTransform = "scale(" + (_zoomLevel / 100) + ")";
    else if (typeof oDiv.style.zoom == "string")
        oDiv.style.zoom = _zoomLevel  + "%";
        else if (typeof oDiv.style.OTransform == "string")
        oDiv.style.OTransform = "scale(" + (_zoomLevel / 100) + ")";
            else if (typeof oDiv.style.WebkitTransform == "string")
        oDiv.style.WebkitTransform = "scale(" + (_zoomLevel / 100) + ")";
                else if (typeof oDiv.style.MsTransform == "string")
        oDiv.style.MsTransform = "scale(" + (_zoomLevel / 100) + ")";
                    else if (typeof oDiv.style.transform == "string")
        oDiv.style.transform = "scale(" + (_zoomLevel / 100) + ")";
}

я думаю, что это работает во всех браузерах сейчас.

Другие вопросы по тегам