我在尝试确定是否在带有id=#blankElement
.
事件处理程序可以很好地单击指定元素右侧或左侧的单元格,但如果单击任何其他单元格,我会收到“单元格在上方”警报。
$(function () {
var $tbl = $('<table border="1">').attr('id', 'grid');
var $tbody = $('<tbody>').attr('id', 'tableBody');
for (var i = 0; i < $("#numOfPieces").val(); i++) {
var trow = $("<tr>"); // New row
for (var j = 0; j < $("#numOfPieces").val(); j++) {
$("<td>")
.text('Row : ' + i + ', Col: ' + j)
.appendTo(trow);
}
trow.appendTo($tbody);
}
$tbl.append($tbody);
$('table').remove();
$('body').append($tbl);
$('#grid tr:first td:last').prev().text("");
$('#grid tr:first td:last').prev().attr('id', 'blankElement');
});
// Event handler for clicking table cells
$('body').on('click', '#grid td', function(e) {
if ($(this).closest('td').next("#blankElement").length){
alert('Cell to the right');
}else if ($(this).closest('td').prev("#blankElement").length){
alert('Cell to the left');
}else if ($(this).parent().next().children().eq($(this).index())){
alert('Cell is above');
}
});