我的表已經定義了選擇和取消處理程序工作正常,當用戶點擊了空格在一排。但是,如果用戶單擊某些文本(創建表中定義的span標籤),則從不觸發該事件。選擇事件不會觸發單擊時在行數據
爲了解決這個問題,我試圖設置一個行點擊事件處理程序,它檢查該行具有「選擇」或不然後手動觸發在所述行的相應的去/選擇事件的CSS屬性。當點擊了文字,但不幸的是不是連續點擊了空格的時候,因爲這兩個事件被觸發,而不是預期的問題的解決方案效果很好。
任何想法來處理呢?
/*
*/
function createTable(){
if(table != null){//Si la tabla ya existe: eliminamos filas y la destruimos.
table.destroy();
$('#'+tableID).empty();
}
table = $('#' + tableID).DataTable({
"dom": 'Bfrtip',
"buttons": ['selectAll','selectNone'],
"columnDefs": [{
"render": function(data, type, row){
return '<span class="label bg-info">' + data + '</span>';
},
"targets": 1
},
{
"render": function(data, type, row){
return '<span class="column1">' + data + '</span>';
},
"targets": 0
}],
"select": {style: 'multi'},
"data": rows,
"columns": columns,
"destroy": true
});
table.off('select').on('select', handlerRowsSelection);
table.off('deselect').on('deselect', handlerRowsDeselection);
//table.off('click').on('click', 'tr', handlerRowClickEvent);
}
/*
*/
function handlerRowClickEvent(){
if ($(this).hasClass('selected')) {
table.row(this).deselect();
}
else {
table.row(this).select();
}
}
/*
*/
function handlerRowsSelection(e, dt, type, indexes){
if(type=="row"){
//DOING SOMETHING
}
}
/*
*/
function handlerRowsDeselection(e, dt, type, indexes){
if(type=="row"){
//DOING SOMETHING
}
}
請告訴我們一些代碼。 – markpsmith
我在問題中添加了一些代碼。對不起,發佈代碼的延遲。 – nespapu
大你更新的問題,但我還是有一定困難的複製,你可以在這個小提琴的工作 - > http://jsfiddle.net/0f9Ljfjr/687/ – davidkonrad