1

我在标题中有一个事件监听器:

window.onkeydown = function(e) {
    var key = e.keyCode ? e.keyCode : e.which;
    if(key == 27) {
        var panel = document.getElementById('largeImgPanel');
    hideMe(panel);
    }
    if(key == 39) {
        arrow_right.onclick = onRight; //Wrong
    }
};

下我有一个功能:

window.onload = function() {
           ...
    var onRight = function showNext(img_thumb) {
    index = index + 1;
    document.getElementById('largeImg').src = arr_big[index].src;
    showLargeImagePanel();
    unselectAll();
};
arrow_right.onclick = onRight;

我的问题是:如何从事件侦听器“执行” onRight 变量?

4

1 回答 1

0

允许onRight成为全局变量。虽然这并不总是可取的,但在这种情况下它会起作用。请记住,最好不要污染全局命名空间

window.onRight = function showNext(img_thumb) {...

然后你可以用同样的方式访问它

arrow_right.onclick = window.onRight;
于 2013-10-16T20:49:18.610 回答