选择并高亮显示一行中的单元格
select and highlight cells in one row
我目前正在做一些与计划相关的事情。所以我有一张有时间戳的桌子。每一行都以一个人的名字开头。我的想法是,首先你可以选择一个单元格。然后您在该行中被阻止,除非未选择任何单元格,否则只能选择该行中的行。
这是我的密码。有人能帮忙实现吗?
var isMouseDown = false, isHighlighted;
$(document).on('mousedown','#werknemers_table tr td',function(){
isMouseDown = true;
$(this).toggleClass("highlighted");
console.log("Click");
console.log($(this).attr('class'));
isHighlighted = $(this).hasClass("highlighted");
return false; // prevent text selection
});
$(document).on('mouseover','#werknemers_table tr td',function(){
if (isMouseDown) {
$(this).toggleClass("highlighted", isHighlighted);
}
});
$(document).mouseup(function () {
isMouseDown = false;
});
当鼠标按下事件发生时,在其父行中添加"current_row"类。然后只在具有"current_row"类的行中添加高亮显示的类。
使用以下代码:
var isMouseDown = false, isHighlighted;
$(document).on('mousedown','#werknemers_table tr td',function(){
isMouseDown = true;
console.log('mousedown');
$(this).toggleClass("highlighted").closest('tr').toggleClass('current_row');
console.log("Click");
console.log($(this).attr('class'));
isHighlighted = $(this).hasClass("highlighted");
return false; // prevent text selection
});
$(document).on('mouseover','#werknemers_table tr td',function(){
if (isMouseDown && $(this).closest('tr').hasClass('current_row')) {
$(this).toggleClass("highlighted", isHighlighted);
}
});
$(document).mouseup(function () {
isMouseDown = false;
});
});
我能想到的最快的解决方案是添加另一个指示当前行的全局。
var currentTR = null;
然后,在mousedown事件处理程序中设置:
currentTR = $(this).closest('tr');
然后,您的鼠标悬停事件:
if (!isMouseDown) return;
if (!$(this).parents().is(currentTR)) return; // <-- ignore event if we're not a child of the relevant row
$(this).toggleClass("highlighted", isHighlighted);
另一种可能的解决方案是将mouseover事件处理程序仅设置在mosedown事件处理程序中的相关行上,然后在mouseup事件中再次将其删除。
相关文章:
- 使用下拉选择菜单高亮显示一行表格单元格
- 选择并高亮显示一行中的单元格
- 如何根据单元格中的值将一行从一个谷歌电子表格移动到另一个
- 如何循环访问其第三个单元格具有 rowspan 属性的每一行
- 如何获取 jqgrid 中一行的格式化单元格值的值
- 在 jqxGrid 中按一个单元格的值选择一行
- 如何向 Javascript 表添加一行,其中包含包含 jQuery 中的日期选择器函数的单元格
- jqxTreeGrid如果我单击一行中的特定单元格,则禁用对该行的选择/取消选择
- 试图创建一个可重复使用的函数来生成一行中的单元格.(棋盘)
- Dgrid-如何将单元格合并到一行中
- javascript如何每隔四个单元格添加一行
- jqGrid-拖动一行进行排序会打乱单元格宽度
- 使用下拉选择菜单高亮显示一行表格单元格(不同情况)
- 如何选择一行's单元格,并通过JavaScript获取它们的值
- 如何访问已被Javascript中的复选框选中的表的一行中的单元格值
- Jquery, ajax:单击按钮并获取其旁边的单元格在同一行中的值
- Ajax从行中删除单元格,重新计算行,将单元格移动到下一行
- 用jQuery循环遍历表格-计算每一行的单元格
- 如何编写一个谷歌表脚本函数,识别值取决于在同一行的单元格
- 将一行单元格拆分为多行