|
<ejs-listview
id="listview"
[dataSource]="data"
(select)="select($event)"
(actionComplete)="actioncomplete($event)"
></ejs-listview>
select() {
console.log("select event triggered");
}
actioncomplete() {
document.getElementById("listview").addEventListener("mousedown", e => {
let SelectedElement = e.target.closest("li");
if(SelectedElement.classList.contains("e-active"))
{
SelectedElement.classList.remove('e-active'); // remove the active class during mouse down
}
});
} |
Hi Aditya Murthy,Greetings from Syncfusion support.We suspect that your requirement is to trigger click event on clicking the same LI item, multiple times. By default, the select event will not be triggered for an item which is already selected. However, we can achieve your requirement by removing “e-active” class in the selected Li by using mousedown event.Bind mousedown event for ListView through actionComplete event which will be triggered once ListView items are rendered.Refer the below code snippet.
<ejs-listviewid="listview"[dataSource]="data"(select)="select($event)"(actionComplete)="actioncomplete($event)"></ejs-listview>select() {console.log("select event triggered");}actioncomplete() {document.getElementById("listview").addEventListener("mousedown", e => {let SelectedElement = e.target.closest("li");if(SelectedElement.classList.contains("e-active")){SelectedElement.classList.remove('e-active'); // remove the active class during mouse down}});}For your reference, we have prepared a sample. Refer the sample link below.Please let us know, if you need any further assistance.Regards,Sowmiya.P