Bonjour,

J'ai deux script JS :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
<script src="{{ asset('bundles/mopabootstrap/js/mopabootstrap-collection.js') }}"></script>
<script src="{{ asset('assets/cv.js') }}"></script>
J'ai un button HTML.

Au clic de ce buton les deux script on un event lié.

Le premier "mopaboostrap.js" réalise une fonction complexe d'ajout de champ html au click du button, voici l'extrait important :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
$(function () {
    $('body').on('click.collection.data-api', '[data-collection-add-btn]', function (e) {
var $btn = $(e.target);
 
if (! $btn.hasClass('btn')) {
$btn = $btn.closest('.btn');
        }
$btn.collection('add');
        e.preventDefault();
    })
 
});
Le second "cv.js" déclenche un plugin sur ce champ nouvellement crée au click de ce même button :.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
$("a[data-collection-add-btn='.cv_competences_cvSkills_form_group']").on("click", function(e) {
 
$(".select2tags").select2({
            });
 
 
});
Problème...le second est toujours lu avant le premier...ce qui forcement ne convient pas.

L'ordre d'appel HTML des scripts n'y change rien.

Même si ça marche, je ne souhaite pas modifier le script "mopaboostrap.js".

Question 1 : Quelle est ma solution ? Comment hiérarchiser les actions d'un événement split en deux scripts ?

Question 2 : Quelle est la logique ? Pour jquery décide d'appeler telle action avant l'autre malgré l'ordre d'appel des script en html ?

Merci par avançe