jQuery 折叠功能在升级 WordPress 和 PHP 时抛出错误
jQuery Collapse function throws error on upgrade of WordPress and PHP
我已将旧的 WordPress 网站升级到最新的 WordPress。 PHP 版本也升级了。该站点有一个自定义侧边栏菜单,其中的打开和关闭由 custom.js 脚本控制。菜单不再切换。
升级后控制台出现如下错误:
Uncaught TypeError: $submenu.collapse is not a function.
不太确定是什么问题。
jQuery('.menu-container li.menu-item-has-children').each(function() {
var $this = jQuery(this);
var $toggler = $this.find('a').first();
var $submenu = $this.find('.sub-menu');
$submenu.addClass('collapse');
if ($submenu.find('.current_page_item').length > 0) {
$submenu.addClass('in');
}
$toggler.on('touchstart click', function(e) {
e.preventDefault();
e.stopPropagation();
$submenu.collapse('toggle');
});
$submenu.on('shown.bs.collapse', function() {
$this.addClass('expanded');
});
$submenu.on('hidden.bs.collapse', function() {
$this.removeClass('expanded');
});
});
折叠是一个 bootstrap 函数。旧主题中的bootstrap,依赖没有做好
修复前
wp_enqueue_script( 'secd-bootstrap-bootstrap', get_template_directory_uri() . '/js/bootstrap.min.js', array('jquery'), '20140319', true );
wp_enqueue_script( 'secd-bootstrap-custom', get_template_directory_uri() . '/js/custom.js', array('jquery'), $current_filemodtime );
修复后
wp_enqueue_script( 'secd-bootstrap-custom', get_template_directory_uri() . '/js/custom.js', array('secd-bootstrap-bootstrap'), $current_filemodtime );
我已将旧的 WordPress 网站升级到最新的 WordPress。 PHP 版本也升级了。该站点有一个自定义侧边栏菜单,其中的打开和关闭由 custom.js 脚本控制。菜单不再切换。
升级后控制台出现如下错误:
Uncaught TypeError: $submenu.collapse is not a function.
不太确定是什么问题。
jQuery('.menu-container li.menu-item-has-children').each(function() {
var $this = jQuery(this);
var $toggler = $this.find('a').first();
var $submenu = $this.find('.sub-menu');
$submenu.addClass('collapse');
if ($submenu.find('.current_page_item').length > 0) {
$submenu.addClass('in');
}
$toggler.on('touchstart click', function(e) {
e.preventDefault();
e.stopPropagation();
$submenu.collapse('toggle');
});
$submenu.on('shown.bs.collapse', function() {
$this.addClass('expanded');
});
$submenu.on('hidden.bs.collapse', function() {
$this.removeClass('expanded');
});
});
折叠是一个 bootstrap 函数。旧主题中的bootstrap,依赖没有做好
修复前
wp_enqueue_script( 'secd-bootstrap-bootstrap', get_template_directory_uri() . '/js/bootstrap.min.js', array('jquery'), '20140319', true );
wp_enqueue_script( 'secd-bootstrap-custom', get_template_directory_uri() . '/js/custom.js', array('jquery'), $current_filemodtime );
修复后
wp_enqueue_script( 'secd-bootstrap-custom', get_template_directory_uri() . '/js/custom.js', array('secd-bootstrap-bootstrap'), $current_filemodtime );