2 votes

JQuery DynaTree plugin - comment invoquer un lien hypertexte

J'ai un lien sur la page web

<li data="url: 'www.mypage.com?index.php?CId=2&MId=14&MTId=1'">mylink

Dans mon js script j'ai

$(document).ready(function() {

 $("#tree").dynatree({
 persist: true,

 onPostInit: function(isReloading, isError) {
        this.reactivate();
 },

 onActivate: function(dtnode) {
        var isInitializing = dtnode.tree.isInitializing(); 
        var isReloading = dtnode.tree.isReloading(); 
        var isUserEvent = dtnode.tree.isUserEvent(); 

       if( dtnode.data.url )
          window.open(dtnode.data.url); 

}   

    });

});

Que dois-je faire au lieu de window.open donc l'url se recharge dans la même fenêtre et n'en ouvre pas une nouvelle ? Il n'y a pas de nom dans la page web où je pourrais utiliser la méthode iFrame.

3voto

mar10 Points 2617

Je suggère

onActivate: function(node) { 
    if( node.data.href ){
        // use href to change the current frame:
        window.location.href = node.data.href; 
        // or load data into a div tag:
//      $("#div").load(node.data.href);
        // or open href in another target frame:
//      window.open(node.data.href, node.data.target);
    }
}

Voir également ici pour un autre exemple : Comment rendre les hyperliens cliquables dans le plugin jQuery dynaTree ?

2voto

Matt Penner Points 418

Dynatree permet désormais de placer des balises d'ancrage dans les éléments li. Vous pouvez donc simplement faire :

<li><a href="www.mypage.com\index.php?CId=2&MId=14&MTId=1" target="_top">mylink</a>

Jetez un coup d'œil à la exemples de navigation ici .

0voto

Falle1234 Points 2586

Avez-vous essayé cette solution :

$(document).ready(function() {

   $("#tree").dynatree({ persist: true,

      onPostInit: function(isReloading, isError) { this.reactivate(); },

      onActivate: function(dtnode) { 
         var isInitializing = dtnode.tree.isInitializing(); 
         var isReloading = dtnode.tree.isReloading(); 
         var isUserEvent = dtnode.tree.isUserEvent();

         if( dtnode.data.url )
            window.location.href = dtnode.data.url; 
      }
   });
});

0voto

Comstar Points 1206

Il s'agit de la méthode documentée :

onActivate: function(node) {
   if( node.data.href ) {
      window.open(node.data.href, node.data.target);
      return false;
   }
},

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X