我想做的是一些事情。但我创造了一个小提琴,以证明发生了什么 - > http://jsfiddle.net/yohn/tDcgD/只是让人们知道,有些代码来自https://github.com/stevedev/jquery.table_select.js。
您可以单击表格中的单元格并拖动,它应该突出显示单元格并将它们保存在相应的网格视图中,但每当我在同一个mousedown事件中返回时,我希望它取消选择最近选择的单元格,我一直在努力做到这一点上最困难的时候......在你创建一个新表的过程中寻找它在单词中的工作方式。
我知道修复将在以下循环中处理,但我无法正确处理..
for (y = start_y; y <= end_y; y++){
for (x = start_x; x <= end_x; x++){
table.find('tr:eq('+y+')').find('td:eq('+x+')').each(function (i,o) {
var th = $(this)
if(th.hasClass('selectable')){
if(th.hasClass('recent')){} else {
th.toggleClass("selected").addClass('recent')
}
}
});
}
}
非常感谢任何帮助。
答案 0 :(得分:2)
我相信,这就是你所追求的。这是更新的fiddle
如果您查看.delegate('td.selectable', 'mouseover', function ()
,我已添加以下代码。
else
{
$('.recent').removeClass('recent').removeClass('selected')
}
基本上,如果单击鼠标(mousedown)并悬停(即“最近”类存在时),则最初从元素中清除“最近”和“选定”类。其余的逻辑将负责计算网格的渲染/填充。
这应该解决你的问题。但是,您可能需要根据自己的需要调查其他事项。