Bin auf das Problem bei einem Kunden Projekt gestoßen und habe festgestellt, dass es weitere Konsequenzen haben kann .Es geht darum jquery und mootools gleichzeitig zu verwenden. Kommt nicht oft vor, aber kann vorkommen...
Also das Problem ist ja, dass beide libraries sich gegenseitig "in die Quere" kommen. Der nonConflict Modus ist bei dieser Lösung nicht nötig und kann in Contao 3 auch nicht angewendet werden, es sei denn man passt das "fe_page" Template an.
-> Ich hatte auch ein Bugreport bzgl. dieses Problems und wurde dann eines besseren belehrt . Danke an Leo.
https://github.com/contao/core/issues/4644
Abhilfe schaffen folgende Snippets, die immer bei Modulentwicklungen oder bei sonstigen Code Ergänzungen verwendet werden sollten.
Für jeden jquery bezogenen Javasript code sollte folgendes darum herum gebaut werden:
HTML-Code:
// jQuery
(function($) {
// Your code goes here
})(jQuery);
Bei mootools folgendes:
HTML-Code:
// MooTools
(function($) {
// Your code goes here
})
(document.id);
__________________
Beispiel aus moo_mediabox:
HTML-Code:
(function($) {
// Your code goes here
window.addEvent('domready', function() {
var links = $$('a').filter(function(el) {
return el.getAttribute('data-lightbox') != null;
});
$$(links).mediabox({
// Put custom options here
}, function(el) {
return [el.href, el.title, el.getAttribute('data-lightbox')];
}, function(el) {
var data = this.getAttribute('data-lightbox').split(' ');
return (this == el) || el.getAttribute('data-lightbox').match(data[0]);
});
// Support swiping on mobile devices
$('mbImage').addEvent('swipe', function(e) {
(e.direction == 'left') ? $('mbNextLink').fireEvent('click') : $('mbPrevLink').fireEvent('click');
});
});
})(document.id);