14

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

4

2 回答 2

28

您正在寻找可以发送事件的东西。这是应该起作用的东西:

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 模式下运行。注意:当您像大多数浏览器一样按住某个键时,Opera 11 不会触发重复的“keydown”事件。

于 2011-04-01T18:00:51.413 回答
0

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

于 2011-04-01T18:05:45.597 回答