2010-04-08 1 views
1

J'ai un problème similaire à celui-ci: Prior jQuery UI Dialogs become nonresponsive....Problème avec plusieurs boîtes de dialogue et liens hypertexte de l'interface utilisateur jQuery

Voici comment le problème se produit: Si j'ouvre une boîte de dialogue puis une deuxième boîte de dialogue, puis fermez la deuxième boîte de dialogue, les liens hypertexte dans la première boîte de dialogue ne fonctionnent plus.

Voici le code pour les boîtes de dialogue:

<script type="text/javascript"> 
    $(function() 
    { 
     $("#PropertyDialog").dialog({ 
      autoOpen: false, 
      modal: true, 
      position: ['center',100], 
      resizable: false, 
      height: 'auto', 
      width: 700 
     }); 
    }); 
    function ShowPropertyDetailsDialog(strPropertyId) 
    { 
     // set the html of the div 
     LoadPropertyDialogHtml(strPropertyId); 

     // open the dialog 
     $('#PropertyDialog').dialog('open'); 
    } 
</script> 

<div id="PropertyDialog" title="Property Details"> 
</div> 

<script type="text/javascript"> 
    $(function() 
    { 
     $("#PropertyImageDialog").dialog({ 
      autoOpen: false, 
      modal: true, 
      position: ['center',75], 
      resizable: false, 
      height: 'auto', 
      width: 650 
     }); 
    }); 

    function ShowImageDialog(strTitle, strLinkUrl) 
    { 
     var dialogDiv = $get("PropertyImageDialog"); 
     dialogDiv.innerHTML = "<img src='" + strLinkUrl + "' alt='' width='600' />"; 

     $("#PropertyImageDialog").dialog"option","title",strTitle); 

     // open the dialog 
     $('#PropertyImageDialog').dialog('open'); 
    } 
</script> 

<div id="PropertyImageDialog" title="Property Image"> 
</div> 

La fonction LoadPropertyDialogHtml fait quelque chose de similaire aux deux premières lignes du ShowImageDialog - de définir le contenu de la PropertyDialog div.

Je peux remplacer certaines fonctionnalités de lien en utilisant window.location pour les liens normaux et window.open pour les nouveaux liens de fenêtre, mais j'aimerais que les hyperliens fonctionnent (et j'aimerais comprendre pourquoi cela se produit).

Répondre

0

Pourriez-vous faire une vérification rapide pour voir s'il y a d'autres DIVS en haut de ce dialogue? Cela pourrait en fait être un problème. En chrome, faites un clic droit> "inspecter" sur le problème div, et il apparaît en mettant en surbrillance une superposition/quelque chose qui n'est pas votre div de dialogue, alors c'est le problème.