1. 程式人生 > 其它 >Fabricjs給元素新增滑鼠事件mouse:over/out

Fabricjs給元素新增滑鼠事件mouse:over/out

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <script src="../fabric.js"></
script> </head> <body> <canvas id="c" width="600" height="600" style="border: 1px dotted #adadad;"> </canvas> <script> var canvas = this.__canvas = new fabric.Canvas('c') fabric.Object.prototype.transparentCorners = false canvas.on('mouse:over',function(e) {
e.target.set(
'fill', 'red') //e.target獲取觸發事件的物件 canvas.renderAll() //重新渲染 必須的 所有對canvas的修改,包括在其中新增刪除物件,以及物件引數的修改,都需要呼叫渲染方法才能顯示出來 }) canvas.on('mouse:out', function(e) { e.target.set('fill', 'green'); canvas.renderAll(); }) for (var i = 10; i--;) { var dim =
fabric.util.getRandomInt(30, 60); //30-60的隨機整數 var klass = ['Rect', 'Triangle', 'Circle'][fabric.util.getRandomInt(0, 2)]; //隨機生成矩形,三角形,圓形 var options = { top: fabric.util.getRandomInt(0, 600), left: fabric.util.getRandomInt(0, 600), fill: 'green' }; if (klass == 'Circle') { options.radius = dim } else { options.width = dim; options.height = dim; } canvas.add(new fabric[klass](options)) } </script> </body> </html>