再会,
我有一个使用 jQuery 的 materializecss 的项目。我有一个已经充满了物化元素的 DOM,在那里一切都很好。
但是,一旦我生成一个包含新 DOM 元素(例如日期选择器)的“弹出窗口”,它们就不起作用了。根据documentation我可以读到 M.AutoInit() 在开始时正在运行,因此元素尚未初始化。
如何确保所有元素(无论是否弹出)始终有效?
如果我再次尝试初始化日期选择器,我会收到以下错误:
materialize.min.js:6 Uncaught TypeError: Right-hand side of 'instanceof' is not callable
这是它对弹出窗口中未包含的元素的工作方式:
$('.datepicker').datepicker(<options>);
最佳答案
我发现了问题。在我创建这些弹出窗口的脚本中,有一个名为“Element”的变量。它是一个类属性。我想覆盖它,但没有这个,因为 javascript 对这个很灵活。现在的问题正是,materializecss 也有一个名为“Element”的变量。所以我更改了这个并触发了 $(".datepicker").datepicker();
的错误.
关于javascript - materializecss 1.0.0 在使用 jquery 更改 dom 后重新初始化 - 错误 : TypeError: Right-hand side of 'instanceof' is not callable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69419933/