0

Je développe un module complémentaire dans le mot de volet de travail en utilisant l'API JavaScript, je l'ai utilisé ci-dessous code pour créer une boite de dialogue jQuery dynamiquement en utilisant une fonction:page sont automatiquement transférés vers le haut lors de l'ouverture d'une boîte de dialogue jquery dynamique première fois

function myConfirm(dialogText, okFunc, cancelFunc, dialogTitle) { 
     $('<div style="padding: 10px; max-width: 500px; word-wrap: break-word;">' 
           + dialogText + '</div>').dialog({ 
      draggable: true, 
      modal: true, 
      resizable: false, 
      width: 'auto', 
      title: dialogTitle || 'Confirm', 
      minHeight: 75, 
      position: { 
       my: "center", 
       at: "center", 
       of: window 
      }, 
      buttons: { 
       OK: function() { 
        if (typeof(okFunc) == 'function') { 
         setTimeout(okFunc, 50); 
        } 
        $(this).dialog('destroy'); 
       }, 
       Cancel: function() { 
        if (typeof(cancelFunc) == 'function') { 
         setTimeout(cancelFunc, 50); 
        } 
        $(this).dialog('destroy'); 
       } 
      } 
     }); 
    } 

Mais quand je l'ouvre d'abord le temps d'appeler la fonction myConfirm, le défilement de la page va vers le haut et quand je défiler vers le bas pour cliquer sur la boîte de dialogue il envoyer à nouveau le rouleau de retour vers le haut alors que je dois à nouveau défiler vers le bas , maintenant je suis capable de cliquer sur les boutons de la boîte de dialogue. cela fonctionne bien après le premier.

J'ai besoin de définir dynamiquement le texte de la boîte et de la fonction sur les clics de bouton afin que je le crée dynamiquement. J'ai aussi testé sur Internet Explorer, ça marche bien.

S'il vous plaît des conseils comment je peux le réparer pour le complément de mot.

Répondre

0

Vous pouvez ci-dessous le code lorsque vous appelez votre fonction: -

onclick="myConfirm();return false;" 

Il suffit d'ajouter "return false;" après le nom de votre fonction comme indiqué ci-dessus.

Edit 1: -

Ou vous pouvez revenir faux de votre fonction ainsi.

Edit 2: -

$form.show().dialog({ 
       close: function (event) { event.preventDefault(); } 
       resizable: false, 
       etc.... 
      }); 
+0

J'ai appelé myConfirm inside méthode de clic comme: $ ('# use-design'). On ("clic", fonction (e) {e.preventDefault(); myConfirm (params);}); – Amit

+0

ok juste ajouter "return false;" enfin dans la fonction myConfirm. –

+0

J'ai essayé mais je ne travaillais pas. – Amit