2009-10-02 7 views
0

Je voudrais avoir une info-bulle qui ne s'affiche que lorsque vous cliquez sur un lien texte (mais ne fait rien sur le vol stationnaire). Je sais que c'est facile à faire avec jquery, mais je dois utiliser dojo. J'ai essayé de déclarer une nouvelle classe d'info-bulle avec "attachHover: false;" mais il se brise quand je déclare la classe, donc je suppose que cela est faux:dijit.Tooltip --- comment désactiver le vol stationnaire?

dojo.declare("clickTooltip", digit.Tooltip, { 
markupFactory: function(){ 
return new clickTooltip(); 
}, 
attachHover: false; 
} 
}); 

S'il vous plaît laissez-moi savoir s'il y a un moyen plus facile, ou si vous avez des conseils pour fixer le code ci-dessus.

Merci

Répondre

1

j'ai fini juste à l'aide d'un caché régulier div au lieu du paquet dojo. Dojo n'est pas très facile à personnaliser.

-1

Vous pouvez essayer ce qui suit de la dijit demo page:

<div data-dojo-type="dijit.form.DropDownButton"> 
    <span>User Login</span> 
    <div data-dojo-type="dijit.TooltipDialog" id="tooltipDlg" data-dojo-props=' 
     title:"Enter Login information", 
     execute: function(){ alert("Simple Alert!"); }'> 
     <div dojoType="dijit.form.Form" id="myForm" jsId="myForm" encType="multipart/form-data" action="" method="POST"> 
     <script type="dojo/method" event="onSubmit">return true;</script> 
      <table> 
       <tr> 
        <td><label for="user">User:</label></td> 
        <td><input type="text" name="user" id="user" dojoType="dijit.form.ValidationTextBox" required="true"></td> 
       </tr> 
       <tr> 
        <td><label for="pwd">Password:</label></td> 
        <td><input type="password" name="pwd" id="pwd" dojoType="dijit.form.ValidationTextBox" required="true"></td> 
       </tr> 
       <tr> 
        <td colspan="2"> 
         <button dojoType="dijit.form.Button" type="submit" name="submitButton" value="Submit">Submit</button> 
        </td> 
       </tr> 
      </table> 
     <!-- End of dijit form --> 
     </div> 
    </div> 
</div> 

Je sais qu'il est un bouton, mais il ne fonctionne que lorsque vous cliquez dessus.

0

Vous pouvez facilement y parvenir en utilisant le widget infobulle,

require(["dijit/Tooltip", "dojo/dom", "dojo/on", "dojo/mouse", "dojo/domReady!"], function(Tooltip, dom, on, mouse) { 
    var node = dom.byId('tooltip'); 
    on(node, 'click', function() { 
    Tooltip.show("I am a tooltip", node); 
    }); 

    on(node, mouse.leave, function() { 
    Tooltip.hide(node); 
    }); 
}) 

violon Travailler ici, http://jsfiddle.net/c4hp1L12/

Questions connexes