Javascript 页面加载后是否未定义jQuery DOM元素?(马根托2)
我使用jQuery在Magento 2中工作,代码如下:Javascript 页面加载后是否未定义jQuery DOM元素?(马根托2),javascript,jquery,magento,Javascript,Jquery,Magento,我使用jQuery在Magento 2中工作,代码如下: require(["jquery"], function($) { var productCarousel = $('.product-carousel-slideshow'); console.log(productCarousel); } 元素按预期登录到控制台,但是一旦加载页面,我就无法对元素执行任何操作,如果我在控制台中键入productCarousel,它没有定义,这是什么原因造成的?productCarous
require(["jquery"], function($) {
var productCarousel = $('.product-carousel-slideshow');
console.log(productCarousel);
}
元素按预期登录到控制台,但是一旦加载页面,我就无法对元素执行任何操作,如果我在控制台中键入productCarousel,它没有定义,这是什么原因造成的?productCarousel是在本地定义到require回调的,只需全局移动定义,您就可以在加载后访问它。如果您要覆盖magento模块,那么您可以简单地更改文件路径app/design/frontend/vendor name/theme name/module name/requirejs config.js。如果您已创建自定义模块,则app/code/Vendor Name/custom module/view/frontend/requirejs config.js
var config = {
paths: {
'Owlcarousel' : 'VendorName_ModuleName/js/owl.carousel.min'
},
shim: {
'Owlcarousel': {
deps: ['jquery']
}
}
}
phtml的脚本:
<script>
require([
'jquery',
'Owlcarousel'
], function ($, Owlcarousel) {
$('#.product-carousel-slideshow-<?php echo $productsliderId;?>').owlCarousel(<?php echo ($block->getAllOptions())?>);
});
要求([
“jquery”,
“猫头鹰旋转木马”
],函数($,旋转木马){
$(“#.产品旋转木马幻灯片放映-”).owlCarousel();
});
欢迎使用堆栈溢出!请阅读,四处看看,并通读,特别是“一旦加载了页面,我就不能对元素做任何事情”,告诉我们您在哪里以及如何尝试对它做一些事情。“如果我在控制台中键入productCarousel,它没有定义”当然不是,它不是一个全局的,它是一个仅限于
require
回调的局部范围。如果在该函数中的断点上暂停,则可以从控制台访问该函数,但在其他情况下不能。