Afficher une boîte de dialogue jquery après qu'un lien hypertexte a été cliqué

Je voudrais montrer une boîte de dialogue après que l'utilisateur a cliqué sur un lien hypertexte. Si l'utilisateur appuie sur continuer dans la boîte de dialogue, le navigateur doit aller au lien hypertexte. Si l'utilisateur clique sur Annuler, le clic sur le lien hypertexte doit être annulé.

Le lien doit contenir une url réelle dans l'attribut href, l'ancre ne doit pas être utilisée.

Comment pouvez le faire à l'aide de Jquery ?

répondre #1

Utilisation du .click() gestionnaire et .preventDefault en jQuery. par exemple :

$('a').click(function(event) {
  var answer= confirm('Do you really want to go there?');
  if(!answer){
    event.preventDefault();
  }
});
répondre #2

Je voudrais aller avec quelque chose comme ceci :

<a href="mylink.html" id="dialogLink">Link</a>

Et, à l'aide de javascript discret (à l'aide de jQuery) :

var link = $('#dialogLink');
link.click(function()
{
    $(this).dialog({
        buttons: 
        {
            "Ok": function()
            {
                 $(this).dialog('close');
                 window.location.href = link.attr('href');
            }
        }
    });

    return false;
});

Vous supprimez le lien via javascript, et seulement si l'utilisateur clique sur le bouton « OK » dans la boîte de dialogue, l'emplacement de la fenêtre est modifié.

répondre #3

Vous pouvez utiliser le plugin jquery JQDIALOG trouvé ici http://plugins.jquery.com/project/jqDialog

<a href="foo.com" id="bar">bar</a>

$(document).ready(function(){
  $("a#bar").click(function(){
    href = $("a#bar").attr("href")
    jqDialog.confirm("Are you sure want to click either of these buttons?",
      function() { window.location=href; }, // callback function for 'YES' button
      function() { return; }                // callback function for 'NO' button
    );
    return false;
  });
});

Tags lesen

   
 
logo_banner