materializecss 1.0.0 在使用 jquery 更改 dom 后重新初始化 - 错误:TypeError:'instanceof' 的右侧不可调用

Posted

技术标签:

【中文标题】materializecss 1.0.0 在使用 jquery 更改 dom 后重新初始化 - 错误:TypeError:\'instanceof\' 的右侧不可调用【英文标题】:materializecss 1.0.0 reinitialize after dom change with jquery - ERROR: TypeError: Right-hand side of 'instanceof' is not callablematerializecss 1.0.0 在使用 jquery 更改 dom 后重新初始化 - 错误:TypeError:'instanceof' 的右侧不可调用 【发布时间】:2021-11-23 22:21:06 【问题描述】:

早安,

我有一个使用 jQuery 的 materializecss 的项目。我有一个已经充满了物化元素的 DOM,一切都很好。

但是,一旦我生成一个包含新 DOM 元素(例如日期选择器)的“弹出窗口”,它们就不起作用了。根据documentation,我可以读到 M.AutoInit() 在开始时正在运行,因此元素尚未初始化。

如何确保所有元素(无论是否弹出)始终有效?

如果我再次尝试初始化日期选择器,我会收到以下错误:

materialize.min.js:6 Uncaught TypeError: 'instanceof' 的右侧不可调用

这就是它对弹出窗口中未包含的元素的工作方式:

$('.datepicker').datepicker(<options>);

【问题讨论】:

【参考方案1】:

我发现了问题。在我创建这些弹出窗口的脚本中,有一个名为“Element”的变量。它是一个类属性。我想覆盖它,但没有这个,因为 javascript 对此很灵活。现在的问题正是,materializecss 也有一个名为“Element”的变量。所以我改了这个,用$(".datepicker").datepicker();触发了一个错误。

【讨论】:

以上是关于materializecss 1.0.0 在使用 jquery 更改 dom 后重新初始化 - 错误:TypeError:'instanceof' 的右侧不可调用的主要内容,如果未能解决你的问题,请参考以下文章

使用 MaterializeCSS 居中图像的问题

在 Vue.js 和 Materializecss 中使用多个“选择”HTML 元素

如何在 Vue.js 中使用 MaterializeCss?

如何在 MaterializeCSS 下拉菜单中创建子菜单?

materializecss 中的响应式图像问题

如何使用 MaterializeCss 创建自动完成表单?