如何使画布的一部分可点击?

时间:2013-05-19 20:05:04

标签: javascript

我想要做的是使画布的一部分可点击。当我点击它时,一个函数被调用。你是如何用JavaScript做的?

2 个答案:

答案 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();
        }
    });
}