setShortcutKeyT: function (eventName) {
$(document).on('keydown', '.layui-table-edit, .layui-form-select', function (e) {
var td = $(this).parent('td').length == 1 ? $(this).parent('td') : $(this).parent().parent('td'),
tr = td.parent('tr'),
trs = tr.parent().parent().find('tr'),
tr_index = tr.index(),
td_index = td.index(),
td_last_index = tr.find('[data-edit]:last').index(),
td_first_index = tr.find('[data-edit]:first').index(),
td_nextF = td.nextAll('[data-edit]:first'),
td_prevF = td.prevAll('[data-edit]:first');
if (!e.shiftKey) {
switch (e.key) {
case 'Tab':
case 'Enter':
e.preventDefault();
if (td_nextF.attr('data-edit') == 'text' || td_nextF.attr('data-edit') == 'true') {
td_nextF.click();
} else {
td_nextF.click();
td_nextF.find('select').next().find('.layui-select-title input').click();
td_nextF.find('select').next().find('.layui-select-title input').focus();
}
if (td_index == td_last_index) {
$('#currentTableId').attr('addRowed', 'true');
var eventNameVal = eventName || 'addRow';
if (tr.find('[lay-event=' + eventNameVal + ']').length > 0) {
tr.find('[lay-event=' + eventNameVal + ']').click();
} else {
$('[lay-event=' + eventNameVal + '] :first').click();
}
console.log('已新增一行');
}
break;
default:
break;
}
} else {
if (e.keyCode == 9 && e.shiftKey) {
console.log('tab & shift');
e.preventDefault();
if (td_prevF.attr('data-edit') == 'text' || td_prevF.attr('data-edit') == 'true') {
td_prevF.click();
} else {
td_prevF.click();
td_prevF.find('select').next().find('.layui-select-title input').click();
td_prevF.find('select').next().find('.layui-select-title input').focus();
}
if (td_index == td_first_index) {
console.log('到行首单元格时');
if (tr_index != 0) {
console.log('到行首单元格时2');
trs
.eq(tr_index - 1)
.find('td')
.eq(td_last_index)
.click();
trs
.eq(tr_index - 1)
.find('td')
.eq(td_last_index)
.find('select')
.next()
.find('.layui-select-title input')
.click();
}
}
}
}
});
},
若单元格带templet模板的,例如以下:
{
field: 'code',
title: '代码',
width: 239,
templet: function (d) {
return buildCode(d);
},
edit: 'false'
},
则需加上:
edit: 'false'
参考于:https://www.cnblogs.com/zakary-zhen/p/11125561.html