2010-05-30 8 views
0

Comment puis-je obtenir le bouton "retour" vu dans ma démo pour ne pas fermer la fenêtre modale?Javascript Retour Bouton dans Modal - L'empêcher de fermer le modal

Si cela ne peut être empêché, fournissez-leur au moins une boîte de confirmation les alertant que la fenêtre essaie de se fermer et demandez-leur s'ils veulent continuer. J'utilise un lien de bouton de retour javascript et un lien vers le bouton suivant pour contrôler l'historique de l'utilisateur dans une fenêtre modale/lightbox.

Voici une démo de ce qui se passe ... Quand vous commencez, la deuxième page aura un lien vers la fenêtre modale, alors cliquez dessus, puis cliquez sur le bouton "retour" dans la fenêtre car cela vous prendra à la page d'accueil. C'est le problème que je rencontre car je ne veux pas que cela se produise.

http://www.apus.edu/_test/evan/modal/start.htm

<a href="javascript:history.go(-1)">Back Button</a> 
<a href="javascript:history.go(1)">Foward Button</a> 
+1

Vous devez désactiver tout "bouton de retour" quand il n'y a rien à l'arrière. – novato

+0

Cela semble faire partie de votre colorbox. –

+1

Si vos pages savent quelle page elles sont (et la semble certainement), alors ne mettez pas un bouton "Retour" à la page 1. Cela semble assez évident. – Pointy

Répondre

0

Si vous pouvez voir où ils se trouvent dans la page (par exemple: la page de démarrage ayant un bouton arrière/avant statique) pourquoi ne pas simplement faire le bouton de retour un javascript: void (0) ? Si vous ne disposez pas d'un emplacement frontal défini, utilisez le côté serveur pour stocker leur emplacement de départ et, une fois qu'ils l'ont atteint, désactivez l'option de retour.

+0

Malheureusement, le côté serveur n'est pas possible. Je suis à la recherche de javascript côté client pour gérer le travail. le bouton Précédent/Suivant serait au niveau du modèle, ne serait pas dynamique, ne pourrait pas être ajouté au niveau de la page. – Evan

+0

Malheureusement javascript a de sévères restrictions sur sa manipulation réelle des options de retour/transmission (vous n'avez pas beaucoup d'accès à l'objet window.history). Avec les restrictions en place, il peut ne pas être possible de faire ce dont vous avez besoin. Autre que peut-être voir le pageid vous êtes sur (et équivalent) et en utilisant cela pour déterminer si un bouton de retour devrait montrer – Akidi

+0

j'étais confus au premier abord, mais @Evan ne fait pas référence au bouton de retour du navigateur, mais le lien HTML dans son popup modal. J'ai modifié la question pour mieux refléter cela. –