Подтвердить что ты не робот

Имитировать событие со стрелкой влево и вправо с помощью javascript

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

4b9b3361

Ответ 1

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

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 не запускает повторяющиеся события "keydown", когда вы держите клавишу нажатой, как и большинство браузеров.

Ответ 2

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