2010-10-13 5 views
1

J'ai créé une méthode dans laquelle vous appuyez sur les touches gauche et droite pour passer de la page suivante à la page précédente. le problème est qu'une fois que vous le changez en un autre album les méthodes de keypress sont toujours liées à l'album précédent ainsi vous appuyez sur la clé droite cela changera l'image dans les albums actuels et précédents.Déconnexion sans fil jquery

J'ai essayé de déconnecter la touche du document auquel elle est destinée, mais elle ne fonctionne plus.

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

et est ici le code keydown qui utilise la méthode ci-dessus

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

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

+0

Où les variables 'pageNumber' et' totalPages' sont-elles déclarées/initialisées? –

+0

près du début de la méthode, je vais ajouter un lien vers la question afin que vous puissiez voir par vous-même, bien que j'ai testé la méthode avec les liens jquery et ça fonctionne parfaitement bien – dbomb101

Répondre

1

Au lieu d'utiliser $("#mangaImage").load(function() { ..});, vous devez utiliser $("#mangaImage").one('load', function() { .. });. Ce que vous faites actuellement consiste à ajouter un nouveau gestionnaire d'événements chaque fois que vous appuyez sur la touche; et ne pas en retirer.

+0

J'ai essayé ce que vous avez dit et malheureusement 't work – dbomb101

+0

@dbomb: Vous devriez aussi définir votre événement 'load' ** avant ** de changer le' src' de l'élément. – Matt

+0

Essayé de faire cela aussi le problème est toujours présent – dbomb101

Questions connexes