有没有一种方法可以通过单击javascript来选择多个表单元格?
我基本上通过javascript增加了网页上的光标图标大小,我有一个表格。现在,我希望表中所有带有光标图标的重叠元素在单击和拖动时更改其背景色。这意味着更改mousedown或mouseover当前能够选择的区域,并能够选择多个元素。有没有办法做到这一点?如果有,怎么做 以下是单击的代码:有没有一种方法可以通过单击javascript来选择多个表单元格?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我基本上通过javascript增加了网页上的光标图标大小,我有一个表格。现在,我希望表中所有带有光标图标的重叠元素在单击和拖动时更改其背景色。这意味着更改mousedown或mouseover当前能够选择的区域,并能够选择多个元素。有没有办法做到这一点?如果有,怎么做 以下是单击的代码: $('td').on('mousedown', function (e1) { loop(); flag = 1 $('td').on('mousemove', functi
$('td').on('mousedown', function (e1) {
loop();
flag = 1
$('td').on('mousemove', function (e2) {
console.log(document.elementsFromPoint(e2.pageX, e2.pageY))
if (flag == 1) {
var tableCell = $(this);
var setbox = $('.active').attr('id');
//document.getElementById("tableBack").style.cursor="move";
switch (setbox) {
case "lPark":
//$(this).text('P');
$(this).css('background-color', 'green');
break;
}
}
}
}
下面是增加光标大小的代码:
var cursor = document.createElement('canvas'),
ctx = cursor.getContext('2d');
cursor.width = 100;
cursor.height = 100;
var centerX = cursor.width / 2;
var centerY = cursor.height / 2;
var radius = 40 ;
ctx.beginPath();
ctx.arc(centerX, centerY, radius, 0, 2 * Math.PI, false);
ctx.fillStyle = 'green';
ctx.fill();
ctx.lineWidth = 1;
ctx.strokeStyle = 'black';
ctx.stroke();
//document.getElementById("tableBack").style.cursor="move";
// set image as cursor (modern browsers can take PNGs as cursor).
document.getElementById("tableBack").style.cursor = 'url(' + cursor.toDataURL() + '), auto';
这是一张我正在尝试做的图片
对不起,我没有足够的点来嵌入
请注意,光标是如何在4个单元格上移动的,但只有1个单元格被选中,我想选择全部4个单元格。我试图理解您的查询。看,你当然可以做一件事 有很多方法可以做到这一点。然而,我建议这里有一个li'l算法
每个阶段都可以按照要求进行编码。我希望它能给你一些想法。你能提供代码片段吗?那么,重叠元素是什么意思?你能给我们看一些代码吗?光标点仍然是一个像素。大小只会帮助您看到所指的位置。假设您知道光标相对于单个点的大小和形状,您可以推断光标的面积。我添加了代码,如何推断面积并看到重叠的表格单元格我确实知道其大小和形状,它是一个圆。*&$是一个重叠的表格单元格。?这个问题很清楚。请查看我的代码,我希望能够选择被光标图标重叠的多个表格单元格,而不仅仅是一个表格单元格。很抱歉,我没有理解您的重叠概念。你能说得更准确些吗。试着从你的桌子上显示一些屏幕截图。这可能会有帮助。请描述重叠的边缘。好的,我在我的帖子中添加了图像,如果你能帮助的话,它就在这个链接上。我已经绞尽脑汁试图弄清楚这一点,我在js方面不是很好,这个项目很快就要完成了。别担心,我会尽力帮助你的。保持积极向上,德夫。干杯……好的!那么,关于你所附的图像,用这个巨大的绿色圆圈,你想把所有相关的3个正方形单元格都涂成绿色?
1) capture ctrl key pressed event and save a flag value (suppose boolean) in some hidden field say x;
1.1) On Key down save true in x
1.2) On Key up save false in x
2) now while it is running caputre your mouse click on cell
if( x==true)
add some highlight class on that cell (which is clicked)
else
remove some highlight class on that cell
3) now for you entire table/grid you have got your highlighted class on items you've selected