Имитировать левую и правую стрелку события с помощью JavaScript - PullRequest
11 голосов
/ 01 апреля 2011

Я использую фреймворк slide.html5rocks.com и пытаюсь использовать теги img внутри ссылок тегов, и я не могу включить JavaScript для имитации событий левой и правой клавиш для смены слайдов

Ответы [ 2 ]

25 голосов
/ 01 апреля 2011

Вы ищете что-то, что отправит событие. Вот что должно работать:

function fireKey(el)
{
    //Set key to corresponding code. This one is set to the left arrow key.
    var key = 37;
    if(document.createEventObject)
    {
        var eventObj = document.createEventObject();
        eventObj.keyCode = key;
        el.fireEvent("onkeydown", eventObj);   
    }else if(document.createEvent)
    {
        var eventObj = document.createEvent("Events");
        eventObj.initEvent("keydown", true, true);
        eventObj.which = key;
        el.dispatchEvent(eventObj);
    }
} 

Я провел небольшой тест интерфейса, который, вероятно, заинтересует вас. Вот как это выглядит: http://jsfiddle.net/FvCut/6/

Протестировано как работающее в Firefox 3.6, Opera 11, Safari 5, IE 8 и IE 7 / IE Quirks Mode. Примечательно: Opera 11 не запускает повторяющиеся события «нажатия клавиш», когда вы удерживаете клавишу нажатой, как в большинстве браузеров.

0 голосов
/ 01 апреля 2011

Как вы моделируете событие?document.dispatchEvent не работает во всех браузерах.Вы можете проверить функцию, используя это: typeOf(document.dispatchEvent) != 'undefined'

...