1

我创建了一种方法,您可以按左右键,然后从下一页或上一页开始。问题是,一旦您将其更改为另一张专辑,按键方法仍会绑定到上一张专辑,因此您按下右键它将更改当前和上一张专辑中的图像。

我尝试将按键与其目标文档解除绑定,但它只是停止工作。

var doNext = function () {
    if (pageNumber >= totalPages - 1) {
        pageNumber = totalPages;
        //alert(pageNumber);
    }
    else if (pageNumber <= totalPages) {
        nextPage = pageNumber += 1;
        //alert(nextPage);
        $("select#page1").get(0).selectedIndex = nextPage;
        $("select#page2").get(0).selectedIndex = nextPage;


        $('#mangaImage').attr('src', data[nextPage]['imageLocation']);

        $("#mangaImage").load(function () {
            $('#mangaImage').attr('width', data[nextPage]['imageWidth']);
            $('#mangaImage').attr('height', data[nextPage]['imageHeight']);
            $('#contentInner').css("width", data[nextPage]['imageWidth'] + "px");
            $('#page').css("width", data[nextPage]['imageWidth'] + "px");
        });
    }
};

这是使用上述方法的keydown代码

$(document).keydown(function (e) {
    if (e.keyCode == 39) {
        alert("right pressed");
        doNext();
        return false;
    }
});

http://www.neuromanga.com/mangaReader1.0.php?cid=1

4

1 回答 1

1

而不是使用$("#mangaImage").load(function () { ..});,你应该使用$("#mangaImage").one('load', function () { .. });。您当前正在做的是每次按下键时添加一个新的事件处理程序;并且不删除任何内容。

于 2010-10-13T12:21:41.340 回答