我有一个场景,我想在图像上创建热点。我想让用户创建图像上的热点。假设用户想在图像上创建矩形然后他只需要用鼠标左键单击创建矩形,这个矩形应该显示可点击的区域(热点。)。我需要它,因为我需要创建一个页面,用户可以选择特定的区域,将来可以点击。任何人请建议我的方式。
这里是示例图像。我现在能够在图像上绘制线条,但我想创建矩形,应该可以用鼠标点击它。
背景是图像,鼠标绘制蓝色细线。
答案 0 :(得分:0)
首先,您需要将图片打包到relative
定位DIV
。然后为图像添加mousedown
事件侦听器。在此处理程序中存储单击坐标并为图像添加mouseup
侦听器。在此mouseUp()
存储鼠标坐标,删除所有以前的处理程序并为文档创建新的DIV
。然后为新click
添加mouseover
和DIV
个事件侦听器,设置位置absolute
的样式,您可以根据存储的坐标计算实际位置和大小。最后将新创建的DIV
附加到图像包装器。
您可以在文档中添加空的DIV
元素,然后为此MAP
创建新的AREA
,而不是使用MAP
作为热点。
修改强>
我真的不确定你需要什么,但是......
在DIV
中创建mouseUpHandler()
:
var clickableDiv = imgWrapper.appendChild(document.createElement('DIV'));
clickableDiv.style.position = 'absolute';
clickableDiv.style.top = calculatedY;
clickableDiv.style.left = calculatedX;
clickableDiv.style.width = calculatedWidth;
clickableDiv.style.height = calculatedHeight;
clickableDiv.style.backGround = '#fff';
clickableDiv.style.opacity = '0.5';
clickableDiv.addEventListener('click', doSomethingOnClick, false);
您可以根据需要自由设置clickableDiv
的样式,但backGround
和opacity
(也可以为0)需要DIV
可点击。 doSomethingOnClick
是一个函数名称,用于处理clickableDiv
的点击次数。