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

回到顶部