KineticJS仅在mousedown上影响鼠标悬停时的元素

时间:2012-05-06 08:30:06

标签: kineticjs

此函数在画布上构建NxN网格并返回该层以供使用。在鼠标悬停时,它会更改单元格的颜色。但我需要的是只在mousedown上运行鼠标悬停,就像刷子一样。我该怎么做?

function buildGrid(config){
    var layer = new Kinetic.Layer(),i, j;
    for(i=0;i<config.y;i++){
        for(j=0;j<config.x;j++){
            (function(i,j){
                var cell = new Kinetic.Rect({
                    x: j * config.width,
                    y: i * config.height,
                    width: config.width,
                    height: config.height,
                    fill: "#00D2FF",
                    stroke: "black",
                    strokeWidth: 1
                })
                cell.on('mouseover',function(){
                    this.setFill('#F00');
                    layer.draw();
                });
                layer.add(cell)
            }(i,j));
        }
    }    
    return layer;
}

2 个答案:

答案 0 :(得分:0)

你试过“拖动”而不是“鼠标悬停”吗?


让mousedown设置一个由鼠标悬停代码检查的变量怎么样?

答案 1 :(得分:0)

对于触摸屏元素,您必须使用它。这适用于PC和移动设备,ipad和任何平板电脑浏览器。

replay.on("touchstart mousedown", function()