Skip to content

Commit 3fa275b

Browse files
committed
Prevented duplicate select/deselect event when "label" node is used
1 parent 670ecf5 commit 3fa275b

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

js/dataTables.checkboxes.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,6 +235,19 @@ Checkboxes.prototype = {
235235
if(hasCheckboxesSelectRow){
236236
$table.addClass('dt-checkboxes-select');
237237

238+
// Handle event before row is selected/deselected
239+
$table.on('user-select.dt.dtCheckboxes', function ( e, dt, type, cell, originalEvent ){
240+
var colIdx = self.getSelectRowColIndex();
241+
242+
// WORKAROUND: Prevent duplicate checkbox select/deselect event
243+
// when "label" node is used in the column containing checkbox
244+
if(ctx.aoColumns[colIdx].checkboxes){
245+
if(originalEvent.target.nodeName.toLowerCase() === 'label'){
246+
e.preventDefault();
247+
}
248+
}
249+
});
250+
238251
// Handle row select/deselect event
239252
$table.on('select.dt.dtCheckboxes deselect.dt.dtCheckboxes', function(e, api, type, indexes){
240253
self.onSelect(e, type, indexes);

0 commit comments

Comments
 (0)