Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 动态js-如何动态修改属性(onmouseover)_Javascript_Kineticjs - Fatal编程技术网

Javascript 动态js-如何动态修改属性(onmouseover)

Javascript 动态js-如何动态修改属性(onmouseover),javascript,kineticjs,Javascript,Kineticjs,我有以下代码,但是位置不会随鼠标移动而改变-我缺少什么 function drawOverlay() { var stage = new Kinetic.Stage({container: 'overlay'}); var layer = new Kinetic.Layer(); var rect = new Kinetic.Rect({ x: 239, y: 75, width: 100, height: 50, fil

我有以下代码,但是位置不会随鼠标移动而改变-我缺少什么

function drawOverlay() {
    var stage = new Kinetic.Stage({container: 'overlay'});
    var layer = new Kinetic.Layer();

    var rect = new Kinetic.Rect({
        x: 239, y: 75,
        width: 100, height: 50,
        fill: 'green', stroke: 'black', strokeWidth: 4
    });
    rect.on('mouseover', function(e) {rect.setPosition({x: 50, y: 5 0});});

    layer.add(rect);
    stage.add(layer);
}
这里有两个问题:

  • y值中有一个空格:“50”对“50”,这会导致javascript解析错误
  • 更改节点位置后,需要重新绘制图层
  • 所以试试这个:

    rect.on('mouseover', function(e) {
        rect.setPosition({x: 50, y: 50}); 
        layer.draw(); 
    });
    

    非常感谢-layer.draw()尤其是我所需要的-以前也尝试过各种形式的setAttrs,但没有成功。顺便说一句,传入dict也适用于setPosition()对不起,输入错误-我应该在发送之前就发现了。啊,很高兴知道dict也适用,我将从答案中删除它,因为这不是问题所在。