web-dev-qa-db-fra.com

Mootools-more.js en conflit avec Bootstrap)

J'étais en train de migrer un composant de Bootstrap 2 à Bootstrap 3. J'ai noté un effet étrange après avoir ouvert et fermé un bouton déroulant => le bouton disparaît.

enter image description here

Après enquête, il semble que jQuery soit en conflit (similaire à https://github.com/twbs/bootstrap/issues/3436 ) avec Mootools. Ce n'est pas un conflit au sens général (cela ne provoque pas d'erreurs JavaScript dans les journaux).

jQuery déclenche un événement 'hide' et MooTools le détecte en premier.

enter image description here

3
Valentin Despa

C’est la seule solution de contournement que j’ai trouvée jusqu’à présent (ouverte pour examen):

// MooTools
window.addEvent('domready',function() {

    Element.prototype.hide = function() {
        alert('Intercepted');
        // Do nothing
    };
});
5
Valentin Despa

Vous avez trouvé cette solution à la recherche d'une solution à ce problème https://forum.joomla.org/viewtopic.php?f=706&t=903425&p=3474051#p3474051 même problème avec la disparition des onglets sur le front-end d’édition de mootools non définis à l’aide de ceux-ci https://forum.joomla.org/viewtopic.php?t=813835

Je pense que dans le cas où cela serait non défini ($ doc -> _ scripts [JURI :: root (true). '/Media/system/js/mootools-core.js']);

0
geo

Dans mon cas, je résous ceci en faisant comme suit:

en html

<ul id="myTab" class="nav nav-tabs">
    <li class="active"><a href="#link1" data-toggle="tab">Link1</a></li>
    <li><a href="#Link2" data-toggle="tab">Link1</a></li>   
</ul>
<div class="tab-content">
    <div class="tab-pane fade in active" id="link1">
        LINK1
    </div>
    <div class="tab-pane fade" id="web_design">
        LINK2
    </div>
</div>

en js

window.addEvent('domready',function() {    
    Element.prototype.hide = function() {
       $(function () { 
         $('#myTab li:eq(1) a').tab('show');
       });    
    };
});
0
Shiplu

Ne pas utiliser mootools.

Il est déjà prévu de le supprimer dans la feuille de route de Joomla, jQuery étant l'option de base préférée et Bootstrap ont clairement indiqué que Bootstrap n'est pas destiné à être exécuté avec d'autres bibliothèques javascript.

0
Seth Warburton