By default, all Accordion panels are collapsible. You can customize the Accordion to keep one panel as expanded state always. This is applicable for Single
expand mode.
ej.base.enableRipple(true);
//Initialize Accordion component
var clickEle;
var accordion = new ej.navigations.Accordion({
expandMode: 'Single',
clicked: clicked,
expanding: beforeExpand,
items: [
{ header: 'ASP.NET', expanded: 'true', content: 'Microsoft ASP.NET is a set of technologies in the Microsoft .NET Framework for building Web applications and XML Web services.' },
{ header: 'ASP.NET MVC', content: 'The Model-View-Controller (MVC) architectural pattern separates an application into three main components: the model, the view, and the controller.' },
{ header: 'JavaScript', content: 'JavaScript (JS) is an interpreted computer programming language. It was originally implemented as part of web browsers so that client-side scripts could interact with the user, control the browser, communicate asynchronously, and alter the document content that was displayed.' },
]
});
//Render initialized Accordion component
accordion.appendTo('#element');
function clicked (e) {
clickEle = e.originalEvent.target.closest('.e-acrdn-header');
}
function beforeExpand (e) {
var expandCount = this.element.querySelectorAll('.e-selected').length;
var ele = this.element.querySelectorAll('.e-selected')[0];
if (ele) {
ele = ele.firstChild
}
if (expandCount === 1 && ele === clickEle) {
e.cancel = true;
}
}
<!DOCTYPE html><html lang="en"><head>
<title>Essential JS 2 Accordion</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Typescript Toolbar Controls">
<meta name="author" content="Syncfusion">
<link href="index.css" rel="stylesheet">
<link href="//cdn.syncfusion.com/ej2/21.2.3/material.css" rel="stylesheet">
<script src="https://cdn.syncfusion.com/ej2/21.2.3/dist/ej2.min.js" type="text/javascript"></script>
</head>
<body>
<div id="container">
<div id="element"></div>
<br><br>
<div id="result"></div>
</div>
<script>
var ele = document.getElementById('container');
if(ele) {
ele.style.visibility = "visible";
}
</script>
<script src="index.js" type="text/javascript"></script>
</body></html>