Ich füge ein div hinzu, das eine Auswahleingabe enthält, aber wenn ich select2 darauf initialisiere, erhalte ich diesen Fehler und meine Seite reagiert erst, wenn ich forciere ziemlich es.Die maximale Callstackgröße wurde überschritten, wenn select2 bei angehängten Auswahlfeldern verwendet wurde.
$('.page-content').on('DOMNodeInserted', '.material-container', function() {
var selectField = $(this).find(".select-material");
selectField.select2();
});
Hier ist der Konsolenfehler.
jquery.js?27d9:5946 Uncaught RangeError: Maximum call stack size exceeded.
at HTMLSelectElement.eval (eval at <anonymous> (http://crm.dev:3000/js/vendor.js:71:1), <anonymous>:5946:21)
at domManip (eval at <anonymous> (http://crm.dev:3000/js/vendor.js:71:1), <anonymous>:5759:14)
at jQuery.fn.init.after (eval at <anonymous> (http://crm.dev:3000/js/vendor.js:71:1), <anonymous>:5944:10)
at jQuery.fn.init.jQuery.fn.(anonymous function) [as insertAfter] (eval at <anonymous> (http://crm.dev:3000/js/vendor.js:71:1), <anonymous>:6052:37)
at Select2._placeContainer (eval at <anonymous> (http://crm.dev:3000/js/vendor.js:163:1), <anonymous>:5137:16)
at new Select2 (eval at <anonymous> (http://crm.dev:3000/js/vendor.js:163:1), <anonymous>:5063:10)
at HTMLSelectElement.eval (eval at <anonymous> (http://crm.dev:3000/js/vendor.js:163:1), <anonymous>:5667:26)
at Function.each (eval at <anonymous> (http://crm.dev:3000/js/vendor.js:71:1), <anonymous>:368:19)
at jQuery.fn.init.each (eval at <anonymous> (http://crm.dev:3000/js/vendor.js:71:1), <anonymous>:157:17)
at jQuery.fn.init.$.fn.select2 (eval at <anonymous> (http://crm.dev:3000/js/vendor.js:163:1), <anonymous>:5664:14)
at HTMLDivElement.eval (eval at <anonymous> (http://crm.dev:3000/js/app.js:149:1), <anonymous>:51:17)
Wou Ist es hilfreich, wenn Sie uns sagen, wie der Code der '.select2()' Methode aussieht? – therobinkim
select2 ist eine Bibliothek zum Auswählen von Feldern. Alles, was ich tue, ist es in meine App aufzunehmen und es zu benutzen. Wenn ich es auf statischen Feldern verwende, funktioniert es gut. –
Wenn Sie eine select2-Instanz initiieren, werden viele Dinge zum DOM hinzugefügt, das DOMNodeInserted-Ereignis wird ausgelöst, dann haben Sie eine Endlosschleife. – vothaison