Elementor自定义代码中jQuery报错:$ is not a function的解决方法
解决Elementor中jQuery "$ is not a function" 错误
这是因为WordPress默认启用了jQuery的noConflict模式,会释放全局的$变量,避免和其他JavaScript库冲突,所以你不能直接在全局作用域用$代替jQuery。有两种简单的解决方式:
方法1:在ready回调中传入$作为参数
把jQuery(document).ready()的回调函数参数设为$,这样函数内部就可以正常使用$了:
<script> jQuery(document).ready(function($){ $('#ipopup').on('click', function(){ window.elementorProFrontend.modules.popup.showPopup({ id: 16625 }); }); }); </script>
方法2:全局替换$为jQuery
直接把代码里所有的$换成jQuery,也能解决问题:
<script> jQuery(document).ready(function(){ jQuery('#ipopup').on('click', function(){ window.elementorProFrontend.modules.popup.showPopup({ id: 16625 }); }); }); </script>
两种方法都能修复控制台的报错,推荐用第一种,写起来更符合日常jQuery的使用习惯。
内容的提问来源于stack exchange,提问作者OHICT
相关产品推荐
相关产品推荐

