jQuery的DOM元素不是之后页面加载定义? (Magento的2)
我在Magento 2使用jQuery和我有以下代码:jQuery的DOM元素不是之后页面加载定义? (Magento的2)
require(["jquery"], function($) { var productCarousel = $('.product-carousel-slideshow');
console.log(productCarousel);
}
元素日志按预期控制台,但是一旦页面加载,我不能做任何事元素,如果我在它没有定义控制台输入productCarousel,这是什么原因?
回答:
的productCarousel在本地定义为需要回调,只要将定义全球,你将能够在加载后对其进行访问。
回答:
如果您正在重写magento模块,那么您可以在文件Path中简单更改路径app/design/frontend /供应商名称/主题名称/模块名称/ requirejs-config.js。如果您已经创建自定义模块,然后应用程序/代码/供应商名称/自定义模块/视图/前端/ 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的DOM元素不是之后页面加载定义? (Magento的2) 的全部内容, 来源链接: utcz.com/qa/264068.html