使用javascript模拟左右箭头键事件

时间:2011-04-01 17:11:52

标签: javascript html5 arrow-keys

我正在使用slide.html5rocks.com框架,我正在尝试使用标签链接中的img标签,我无法使用JavaScript onclick来模拟左右键事件来更改幻灯片< / p>

2 个答案:

答案 0 :(得分:25)

您正在寻找能够派遣活动的东西。这是应该有用的东西:

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”事件。

答案 1 :(得分:0)

你是如何模拟这个事件的? document.dispatchEvent不适用于所有浏览器。 您可以使用以下方法测试该功能:typeOf(document.dispatchEvent) != 'undefined'