Demoвыбор клеток останавливается, когда мышь двигаться быстро на столе
var flag=false;
$(document).live('mouseup', function() { flag = false; });
var colIndex; var lastRow;
$(document).on('mousedown', '.csstablelisttd', function (e) {
//This line gets the index of the first clicked row.
lastRow = $(this).closest("tr")[0].rowIndex;
var rowIndex = $(this).closest("tr").index();
colIndex = $(e.target).closest('td').index();
$(".csstdhighlight").removeClass("csstdhighlight");
if (colIndex == 0 || colIndex == 1) //)0 FOR FULL TIME CELL AND 1 FOR TIME SLOT CELL.
return;
if ($('#contentPlaceHolderMain_tableAppointment tr').eq(rowIndex).find('td').eq(colIndex).hasClass('csstdred') == false)
{
$('#contentPlaceHolderMain_tableAppointment tr').eq(rowIndex).find('td').eq(colIndex).addClass('csstdhighlight');
flag = true;
return false;
}
});
document.onmousemove = function() { return false; };
$(".csstablelisttd").live('mouseenter', function (e) {
// Compares with the last and next row index.
var currentRow = $(this).closest("tr")[0].rowIndex;
var currentColoumn = $(e.target).closest('td').index();
// cross row selection
if (lastRow == currentRow || lastRow == currentRow - 1 || lastRow == currentRow + 1)
{
lastRow = $(this).closest("tr")[0].rowIndex;
}
else
{
flag = false;
return;
}
// cross cell selection.
if (colIndex != currentColoumn)
{
flag = false;
return;
}
if (flag)
{
$('#contentPlaceHolderMain_tableAppointment tr').eq(currentRow).find('td').eq(currentColoumn).addClass('csstdhighlight');
e.preventDefault();
return false;
}
});
выбор клеток прекращается при перемещении курсора быстро по столу.
Что делать, чтобы предотвратить остановку выделения при быстром перемещении курсора на ячейках таблицы.
Я не хочу менять html страницы.
Проблема в основном возникает в IE 7.
Я обработал событие mousedown, mouseenter на tr-классе.
Взял действительно быстрый взгляд. Мое первое предположение состоит в том, что это связано с проверкой того, чтобы быть «плюс или минус» в одной строке.Надеюсь, это может отправить вас на путь исправления проблемы. Я рассмотрю это позже, когда у меня будет немного больше времени. – TravJenkins
travJenkins проверял andyb ответы скрипта, но я заметил некоторые ошибки, когда я нажимаю только на ячейку, а затем выделяю ячейку. Еще одна точка. Я заметил, что происходит перекрестный выбор. Когда мы перемещаем мышь вокруг стола. – John