Mat
Aktives Mitglied
Wenn ich bei einem langen Codeblock auf den Ausklappen-Button klicke, geschieht nichts. Das Gleiche auch beim Einklappen.
Hier der Code (zum Fehler finden und Ausprobieren):
Kann es sein, dass da ein kleiner Tippfehler in den Namespaces ist (fehlender Punkt)? Beim Registrieren der beiden Events verkackt er.
Naja, eigentlich verkackt er schon beim Konstruktor, beim Laden der Seite, also liegt der Fehler vielleicht woanders und ich sehe nur den "falsch" kompillierten Code.
Fehlermeldungen:
Getestet auf Desktop, mit Firefox, Chrome, Edge.
Hier der Code (zum Fehler finden und Ausprobieren):
Javascript:
var CMTV_Code = window.CMTV_Code || {};
(function (b) {
CMTV_Code.CodeBlock_Copy = new Clipboard('.bbCodeBlock--code .action--copy', {
target: function (a) {
return b(a).closest('.bbCodeBlock--code').find('code').get(0);
},
});
CMTV_Code.CodeBlock_Copy.on('success', function (a) {
a.clearSelection();
XF.flashMessage(XF.phrase('CMTV_Code_copied'), 1500);
});
CMTV_Code.CodeBlock_Expand = XF.Click.newHandler({
eventNameSpace: 'CMTV_CodeCodeBlock_Expand',
codeBlockH: null,
init: function () {
this.codeBlockH = XF.Element.getHandler(this.$target.closest('.bbCodeBlock--code'), 'CMTV-code-block');
},
click: function () {
this.codeBlockH.resizeButtons.$expand.addClass('action--hidden');
this.codeBlockH.resizeButtons.$collapse.removeClass('action--hidden');
this.codeBlockH.$codeContainer.stop().animate(
{
height: this.codeBlockH.maxHeight + 'px',
},
200
);
},
});
CMTV_Code.CodeBlock_Collapse = XF.Click.newHandler({
eventNameSpace: 'CMTV_CodeCodeBlock_Collapse',
codeBlockH: null,
init: function () {
this.codeBlockH = XF.Element.getHandler(this.$target.closest('.bbCodeBlock--code'), 'CMTV-code-block');
},
click: function () {
this.codeBlockH.resizeButtons.$expand.removeClass('action--hidden');
this.codeBlockH.resizeButtons.$collapse.addClass('action--hidden');
this.codeBlockH.$codeContainer.stop().animate(
{
height: this.codeBlockH.minHeight + 'px',
},
200
);
},
});
XF.Click.register('CMTV-code-block-expand', 'CMTV_Code.CodeBlock_Expand');
XF.Click.register('CMTV-code-block-collapse', 'CMTV_Code.CodeBlock_Collapse');
})(jQuery);
Kann es sein, dass da ein kleiner Tippfehler in den Namespaces ist (fehlender Punkt)? Beim Registrieren der beiden Events verkackt er.
Naja, eigentlich verkackt er schon beim Konstruktor, beim Laden der Seite, also liegt der Fehler vielleicht woanders und ich sehe nur den "falsch" kompillierten Code.
Fehlermeldungen:
Laden eines Beitrags mit Codeblock:
Uncaught TypeError: Illegal constructor.
<anonymous> code-block-actions.min.js:4
<anonymous> code-block-actions.min.js:43
code-block-actions.min.js:4
Fehler beim Klicken des Buttons:
Could not find click handler for CMTV-code-block-expand core-compiled.js:143:439
c https://dev-community.de/js/xf/core-compiled.js?_v=d29b5125:143
watch https://dev-community.de/js/xf/core-compiled.js?_v=d29b5125:147
jQuery 8
watch https://dev-community.de/js/xf/core-compiled.js?_v=d29b5125:147
register https://dev-community.de/js/xf/core-compiled.js?_v=d29b5125:148
<anonym> https://dev-community.de/js/xf/core-compiled.js?_v=d29b5125:225
<anonym> https://dev-community.de/js/xf/core-compiled.js?_v=d29b5125:228
Getestet auf Desktop, mit Firefox, Chrome, Edge.