繁体   English   中英

在fabric.js中多次设置defaultCursor

[英]Set defaultCursor in fabric.js more than once

我可以设置canvas.defaultCursor ,但是一旦设置canvas.defaultCursor就无法将其更改为其他内容。 这可能吗?

这是我的代码:

var canvas = new fabric.Canvas('c');

function setCursor(cursorType) {
    if (cursorType == 'move') {
        canvas.defaultCursor = 'move';
    } else if (cursorType == 'crosshair') {
        console.log('Changing cursor to crosshair'); // this works
        canvas.defaultCursor = 'crosshair'; // this doesn't work
    }
}

setCursor('move'); // this works

// ...

setCursor('crosshair');

我认为这种变化没有任何问题。 在此小提琴中查看光标:

http://jsfiddle.net/v1nmtz02/4/

或在此处尝试摘录:

  var canvas = new fabric.Canvas('canvas'); function changeCursor(cursorType) { canvas.defaultCursor = cursorType; } 
 <script src="http://fabricjs.com/lib/fabric.js"></script> <button onclick="changeCursor('crosshair');">crosshair</button> <button onclick="changeCursor('move');">move</button> <button onclick="changeCursor('default');">default</button> <canvas id='canvas' width="550" height="550" style="border:#000 1px solid;"></canvas> 

原来我的示例代码不完整。

在完整的代码中,我是在用户将鼠标移到现有画布对象附近时更改光标,然后在鼠标移开时将其更改回默认值。

这是缺少的部分:当用户将鼠标悬停在对象上时,Fabric使用hoverCursor而不是defaultCursor 就我而言, hoverCursordefaultCursor相同。 因此,我的代码确实确实应该更改defaultCursor ,但是当用户将鼠标移到对象附近时,用户仍然可以看到原始光标(来自hoverCursor )。

我可以通过在有关对象上更改hoverCursor来解决此问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM