我有一个reservation.js 脚本,其中包含将事件侦听器添加到表单输入的函数。
paymentInstalments.addEventListener('click', ()=> (...))
这个函数是在页面加载通过 jquery 的 $(document).ready() 时执行的
然而,这种方法被证明很麻烦,因为当我尝试加载的页面没有名为“paymentInstalments”的 id 时,我会收到 TypeError“无法读取 null 的属性 'addEventListener'”。
发生这种情况显然是因为我尝试添加事件侦听器的元素在 html 中不存在。
因此,我的问题是:Webpack 不应该足够聪明以了解何时执行给定的导入吗?还是由我来管理脚本何时执行?
非常感谢提前:)
如果您尝试在 DOM 元素实际存在于 DOM 之前与其交互,您将遇到此问题。Webpack 帮不了你。
如果您想向元素添加事件侦听器并且在访问它时遇到问题,请尝试将该事件委托给您知道将存在的另一个元素。就像是:
$('body').on('click', #paymentInstalments', function(e) {
// do stuff
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句