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");
        });
    }
};

上記の方法を使用するキーダウンコードは次のとおりです

$(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 に答える