我想要做的是使画布的一部分可点击。当我点击它时,一个函数被调用。你是如何用JavaScript做的?
答案 0 :(得分:4)
如果你只是想让画布的一个区域可以点击,那么一个简单的方法就是在画布上叠加一个不可见的div。
CSS:
#clickable-overlay {
position: absolute;
opacity: 0;
}
以下示例可以单击画布的左上角。 http://jsfiddle.net/tsanders/V6qGM/38/
答案 1 :(得分:1)
您必须将click事件绑定到整个画布并检测光标在单击上的位置,然后,如果光标在某些维度内,则执行该函数。
这是一个小提琴,以div为例: http://jsfiddle.net/R8rED/17/
function testAndExecute(elem, event, area, func){
// area is relative to page :
// var area = {
// x0: 60,
// y0: 60,
// x1: 100,
// y1: 100
// }
elem.addEventListener(event, function(e){
var page = {
x: e.pageX,
y: e.pageY
}
if(page.x >= area.x0 && page.x <= area.x1 && page.y >= area.y0 && page.y <= area.y1){
func();
}
});
}