Я не могу заставить контекстное меню работать. То, что я хочу, - это когда я щелкнул любую строку, он предупредил меня о первом тексте td.Интеграция контекстного меню JQuery с JQuery DataTable
Это мой код при инициализации мой DataTable:
var init_item_seized_tbl = function init_item_seized_tbl(){
$('#item_seized_tbl').DataTable({
"autoWidth": false,
"aoColumnDefs": [
{ "bSortable": false, "aTargets": [ 4 ] },
{ "sWidth": "20%", "aTargets": [ 0 ] },
{ "sWidth": "40%", "aTargets": [ 1 ] },
{ "sWidth": "10%", "aTargets": [ 2 ] },
{ "sWidth": "20%", "aTargets": [ 3 ] },
{ "sWidth": "10%", "aTargets": [ 3 ] },
],
"fnCreatedRow" : function(nRow, aData, iDataIndex){
$(nRow).addClass('item-context');
},
"fnRowCallback" : function(nRow, aData, iDisplayIndex, iDisplayIndexFull){
console.log('fnRowCallback');
$('table#item_seized_tbl tr').on('mouseenter', function() {
$(this).contextMenu({
selector: '.item-context',
callback: function(key, options) {
//var m = "clicked: " + key;
//window.console && console.log(m) || alert(m);
},
items: {
"edit": {name: "Edit", icon: "edit"},
"cut": {name: "Cut", icon: "cut"},
"copy": {name: "Copy", icon: "copy"},
"paste": {name: "Paste", icon: "paste"},
"delete": {name: "Delete", icon: "delete"},
}
},
function (action, el, pos) {
alert(
'Action: ' + action + '\n\n' +
'Element ID: ' + $(el).attr('id') + '\n\n' +
'X: ' + pos.x + ' Y: ' + pos.y + ' (relative to element)\n\n' +
'X: ' + pos.docX + ' Y: ' + pos.docY + ' (relative to document)\n\n'
);
}
);
});
}
});
}
Проблема заключается в контекстное меню не отображается.
Я пробовал другой подход, отделяя инициализацию контекстного меню. Но я понятия не имею, как обрабатывать события и предупреждать меня о первом td в строке.
$.contextMenu({
selector: '.item-context',
callback: function(key, options) {
var m = "clicked: " + key;
window.console && console.log(m) || alert(m);
},
items: {
"edit": {name: "Edit", icon: "edit"},
"cut": {name: "Cut", icon: "cut"},
"copy": {name: "Copy", icon: "copy"},
"paste": {name: "Paste", icon: "paste"},
"delete": {name: "Delete", icon: "delete"},
}
});
Ваши ответы были бы весьма полезными. Благодаря!
Я обязательно попробую это. Я вернусь к вам и пометьте это как ответ, если ваш ответ сработает. Спасибо – iamjc015
Это говорит, что table.row не является функцией. Я назначил table = $ ('table-id'). Итак, как я могу это решить? – iamjc015
@JCFrane, вы можете получить «table.row не функция», если вы инициализировали dataTable() в нижнем регистре d. Или, если таблица не является глобальной переменной, и вы пытаетесь использовать ее в контексте локальной области. – davidkonrad